Python Розуміння списку, додавання, сортування, довжина [ПРИКЛАДИ]
Що таке? Python Список?
Список – це саме те, що він звучить, контейнер, який містить різні Python об’єкти, які можуть бути цілими числами, словами, значеннями тощо. Це еквівалент масиву в інших мовах програмування. Він представлений квадратними дужками (і це один із атрибутів, який відрізняє його від кортежів, які відокремлені дужками). Він також змінний, тобто його можна змінювати або оновлювати; на відміну від кортежів, які є незмінними.
Приклади Python списки:
Python списки можуть бути однорідними, тобто вони можуть містити об’єкти одного типу; або неоднорідні, включаючи різні типи об'єктів.
Приклади однорідних списків:
list of integers = [1, 2, 3, 8, 33] list of animals = ['dog', 'cat', 'goat'] list of names = ['John', 'Travis', 'Sheila'] list of floating numbers = [2.2, 4.5, 9.8, 10.4]
Приклади різнорідних списків:
[2, 'cat', 34.33, 'Travis'] [2.22, 33, 'pen']
Доступ до значень у списках
Щоб отримати доступ до значень у списках, можна використовувати індекси об’єктів у списках. Індекс в Python lists відноситься до позиції елемента в упорядкованому списку. Наприклад:
list = [3, 22, 30, 5.3, 20]
- Перше значення у списку вище, 3, має індекс 0
- Друге значення, 22, має індекс 1
- Третє значення, 30, має індекс 2
і так далі. Щоб отримати доступ до кожного значення зі списку, ви повинні використати:
list[0] to access 3 list[1] to access 22 list[2] to access 30 list[3] to access 5.3 list[4] to access 20
До останнього члена списку також можна отримати доступ за допомогою індексу -1. Наприклад,
list[-1] = 20
Python Нарізка списку
Нарізка списку — це метод розбиття підмножини списку, для цього також використовуються індекси об’єктів списку. Наприклад, використовуючи той самий приклад списку вище;
list[:] = [3, 22, 30, 5.3, 20] (all the members of the list]; list[1:3] = [22, 30] (members of the list from index 1 to index 3, without the member at index 3); list[:4] = [3, 22, 30, 5.3] (members of the list from index 0 to index 4, without the member at index 4) list[2:-1] = [30, 5.3] (members of the list from index 2, which is the third element, to the second to the last element in the list, which is 5.3).
Python списки є винятковими для верхньої межі, і це означає, що останній індекс під час нарізки списку зазвичай ігнорується. Ось чому
list[2:-1] = [30, 5.3]
, а не [30, 5.3, 20]. Те саме стосується всіх інших наведених вище прикладів нарізки списку.
Оновлення списків
Припустімо, у вас є список = [physics, chemistry, mathematics], і ви хочете змінити список на [biology, chemistry, mathematics], фактично змінивши член з індексом 0. Це можна легко зробити, призначивши цей індекс до нового учасника, якого ви хочете.
Тобто,
list = [physics, chemistry, mathematics] list[0] = biology print(list)
Результат: [біологія, хімія, математика]
Це замінює член з індексом 0 (фізика) на нове значення, яке ви хочете (хімія). Це можна зробити для будь-якого члена або підмножини списку, який потрібно змінити.
Наведу інший приклад; скажімо, у вас є список, який називається цілими числами і містить числа [2, 5, 9, 20, 27]. Щоб замінити 5 у цьому списку на 10, ви можете зробити це за допомогою:
integers = [2, 5, 9, 20, 27] integers[1] = 10 print(integers) >>> [2, 10, 9, 20, 27]
Щоб замінити останній член списку цілих чисел, який дорівнює 27, вільним числом, наприклад 30.5, ви повинні використати:
integers = [2, 5, 9, 20, 27] integers[-1] = 30.5 print(integers) >>> [2, 5, 9, 20, 30.5]
Видалення елементів списку
Є 3 Python методи видалення елементів списку: list.remove(), list.pop() і оператор del. Метод Remove приймає певний елемент, який потрібно видалити, як аргумент, тоді як pop і del беруть індекс елемента, який потрібно видалити, як аргумент. Наприклад:
список = [3, 5, 7, 8, 9, 20]
Щоб видалити 3 (1-й елемент) зі списку, ви можете використати:
- list.remove(3) або
- list.pop[0] або
- del list[0]
Щоб видалити 8, елемент під індексом 3 зі списку, ви можете використати:
- list.remove(8), або
- list.pop[3]
Додавання елементів списку
Для додавання елементів до списку використовується метод append, який додає елемент у кінець списку.
Наприклад:
list_1 = [3, 5, 7, 8, 9, 20] list_1.append(3.33) print(list_1) >>> list_1 = [3, 5, 7, 8, 9, 20, 3.33] list_1.append("cats") print(list_1) >>> list_1 = [3, 5, 7, 8, 9, 20, 3.33, "cats"]
Список вбудованих функцій (методів)
Нижче наведено список вбудованих функцій і методів списку з їхніми описами:
- len(список): це дає довжину списку як результат. Наприклад:
numbers = [2, 5, 7, 9] print(len(numbers)) >>> 4
- max(список): повертає елемент у списку з максимальним значенням. Наприклад:
numbers = [2, 5, 7, 9] print(max(numbers)) >>> 9
- хв (список): повертає елемент у списку з мінімальним значенням. Наприклад:
numbers = [2, 5, 7, 9] print(min(numbers)) >>> 2
- список (кортеж): перетворює об'єкт кортежу на список. Наприклад;
animals = (cat, dog, fish, cow) print(list(animals)) >>> [cat, dog, fish, cow]
- list.append(елемент): додає елемент до списку. Наприклад;
numbers = [2, 5, 7, 9] numbers.append(15) print(numbers) >>> [2, 5, 7, 9, 15]
- list.pop(індекс): видаляє елемент із вказаним індексом зі списку. Наприклад;
numbers = [2, 5, 7, 9, 15] numbers.pop(2) print(numbers) >>> [2, 5, 9, 15]
- list.remove(елемент): видаляє елемент зі списку. Наприклад;
values = [2, 5, 7, 9] values.remove(2) print(values) >>> [5, 7, 9]
- список.реверс(): перевертає об’єкти списку. Наприклад;
values = [2, 5, 7, 10] values.reverse() print(values) >>> [10, 7, 5, 2]
- list.index(елемент): щоб отримати значення індексу елемента в списку. Наприклад;
animals = ['cat', 'dog', 'fish', 'cow', 'goat'] fish_index = animals.index('fish') print(fish_index) >>> 2
- сума(список): щоб отримати суму всіх значень у списку, якщо всі значення є числами (цілі чи десяткові). Наприклад;
values = [2, 5, 10] sum_of_values = sum(values) print(sum_of_values) >>> 17
Якщо список містить будь-який елемент, який не є числом, наприклад рядок, метод sum не працюватиме. Ви отримаєте повідомлення про помилку: "Помилка типу: непідтримувані типи операндів для +: 'int' і 'str'”
- list.sort(): для впорядкування списку цілих чисел, чисел з плаваючою комою або рядків у порядку зростання або спадання. Наприклад:
values = [1, 7, 9, 3, 5] # To sort the values in ascending order: values.sort() print(values) >>> [1, 3, 5, 7, 9]
Інший приклад:
values = [2, 10, 7, 14, 50] # To sort the values in descending order: values.sort(reverse = True) print(values) >>> [50, 14, 10, 7, 2]
Список рядків також можна сортувати за алфавітом або за довжиною рядків. Наприклад;
# to sort the list by length of the elements strings = ['cat', 'mammal', 'goat', 'is'] sort_by_alphabet = strings.sort() sort_by_length = strings.sort(key = len) print(sort_by_alphabet) print(sort_by_length) >>> ['cat', 'goat', 'is', 'mammal'] ['is', 'cat', 'goat', 'mammal']
Ми можемо відсортувати той самий список за алфавітом, використовуючи «рядки».
Перегляд списків
Переглядати списки можна так само, як і будь-яку іншу функцію циклу Python. Таким чином, метод може бути виконаний на кількох елементах списку одночасно. Наприклад:
список = [10, 20, 30, 40, 50, 60, 70].
Щоб прокрутити всі елементи цього списку і, скажімо, додати 10 до кожного елемента:
for elem in list: elem = elem + 5 print(elem) >>>>15 25 35 45 55 65 75
Щоб прокрутити перші три елементи списку та видалити їх усі;
for elem in list[:3]: list.remove(elem) >>>list = [40, 50, 60, 70]
Щоб прокрутити 3rd (індекс 2) до останнього елемента списку та додайте їх до нового списку під назвою new_list:
new_list = [] for elem in list[2:]: new_list.append(elem) print(“New List: {}”.format(new_list)) Output: New List: [30, 40, 50, 60, 70]
Таким чином, будь-який метод або функція може бути застосована до членів списку для виконання певної операції. Ви можете або прокрутити всі члени списку, або прокрутити підмножину списку за допомогою нарізки списку.
Список оновлень Python
Спискові розуміння є Python функції, які використовуються для створення нових послідовностей (таких як списки, словники тощо) з використанням уже створених послідовностей. Вони допомагають зменшити довші цикли та полегшити читання та підтримку коду.
наприклад; скажімо, ви хочете створити список, який містить квадрати всіх чисел від 1 до 9:
list_of squares = [] for int in range(1, 10): square = int ** 2 list_of_squares.append(square) print(list_of_squares) List_of_squares using for loop: [1, 4, 9, 16, 25, 36, 49, 64, 81]
Щоб зробити те ж саме з розумінням списку:
list_of_squares_2 = [int**2 for int in range(1, 10)] print('List of squares using list comprehension: {}'.format(list_of_squares_2)) Output using list comprehension: [1, 4, 9, 16, 25, 36, 49, 64, 81]
Як видно вище, написання коду з використанням списків набагато коротше, ніж використання традиційних циклів for, і також швидше. Це лише один із прикладів використання розуміння списків замість циклів for, але його можна відтворити та використати в багатьох місцях, де також можна використовувати цикли for. Іноді кращим варіантом є використання циклу for, особливо якщо код складний, але в багатьох випадках розуміння списків полегшить і пришвидшить кодування.
Нижче наведено таблицю зі списком функцій і методів, а також їх описи.
Вбудовані функції
ФУНКЦІЯ | ОПИС |
---|---|
круглий() | Округлює число, передане як аргумент, до вказаної кількості цифр і повертає значення з плаваючою комою |
Хв() | повертає мінімальний елемент заданого списку |
Макс() | повертає максимальний елемент заданого списку |
len () | Повертає довжину списку |
Enumerate() | Ця вбудована функція генерує як значення, так і індекси елементів у ітерації, тому нам не потрібно рахувати вручну |
Фільтр() | перевіряє, чи істинний кожен елемент списку |
Лямбда | Вираз, який може з’являтися в місцях, де визначення (для створення функцій) не є синтаксичним, усередині літералу списку або аргументів виклику функції |
карта() | повертає список результатів після застосування заданої функції до кожного елемента даного ітерованого |
Накопичувати() | застосувати певну функцію, передану в її аргументі, до всіх елементів списку повертає список, що містить проміжні результати |
Сума() | Повертає суму всіх чисел у списку |
Cmp() | Це використовується для порівняння двох списків і повертає 1, якщо перший список більший за другий. |
Insert | Вставити елемент до списку в певну позицію |
Методи списку
ФУНКЦІЯ | ОПИС |
---|---|
Додати() | Додає новий елемент у кінець списку |
Очистити() | Видаляє всі елементи зі списку |
копіювати() | Повертає копію вихідного списку |
Розширити() | Додайте багато елементів у кінець списку |
Рахувати() | Повертає кількість входжень певного елемента в список |
Індекс() | Повертає індекс певного елемента списку |
Поп() | Видалення елемента зі списку за певним індексом (видалення за позицією) |
Вилучити() | Видаляє вказаний елемент зі списку (видалити за значенням) |
Reverse() | Метод розвороту на місці, який змінює порядок елементів списку на протилежний |
Підсумки
- Список – це саме те, що він звучить, контейнер, який містить різні Python об’єкти, які можуть бути цілими числами, словами, значеннями тощо.
- Python списки можуть бути однорідними, тобто вони можуть містити об’єкти одного типу; або різнорідні, що містять різні типи об'єктів.
- Щоб отримати доступ до значень у списках, можна використовувати індекси об’єктів у списках.
- Нарізка списку — це метод розбиття підмножини списку, для цього також використовуються індекси об’єктів списку.
- Три методи видалення елементів списку: 1)list.remove(), 2)list.pop() і 3)оператор del
- Метод Append використовується для додавання елементів. Це додає елемент у кінець списку.
- Циклічний спосіб Python програма може бути виконана на кількох елементах списку даних одночасно.
- Спискові розуміння є Python функції, які використовуються для створення нових послідовностей (таких як списки, словники тощо) з використанням уже створених послідовностей.