Список Python: розуміння, доповнення, сортування, довжина, зворотні ПРИКЛАДИ

Зміст:

Anonim

Що таке список Python?

Список - це саме те, як це звучить, контейнер, що містить різні об’єкти Python, які можуть бути цілими числами, словами, значеннями тощо. Це еквівалент масиву в інших мовах програмування. Він представлений квадратними дужками (і це один з атрибутів, який відрізняє його від кортежів, які відокремлюються дужками). Він також змінюється, тобто може бути змінений або оновлений; на відміну від кортежів, які незмінні.

У цьому підручнику з 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 відноситься до позиції елемента в упорядкованому списку. Наприклад:

list = [3, 22, 30, 5.3, 20]
  • Перше значення у списку вище, 3, має індекс 0
  • Друге значення, 22, має індекс 1
  • Третє значення, 30, має індекс 2

і так далі. Щоб отримати доступ до кожного зі значень зі списку, ви повинні використовувати:

list[0] to access 3list[1] to access 22list[2] to access 30list[3] to access 5.3list[4] to access 20

До останнього члена списку також можна отримати доступ за допомогою індексу -1. Наприклад,

list[-1] = 20

Нарізка списку

Нарізка списку - це метод розділення підмножини списку, і для цього також використовуються індекси об’єктів списку. Наприклад, використовуючи той самий приклад зі списку вище;

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]. Те саме стосується всіх інших прикладів нарізки списків, наведених вище.

Оновлення списків

Скажімо, у вас є список = [фізика, хімія, математика], і ви хочете змінити список на [біологія, хімія, математика], фактично змінивши член з індексом 0. Це можна легко зробити, присвоївши цей індекс новий учасник, якого ви хочете.

Це,

list = [physics, chemistry, mathematics]list[0] = biologyprint(list)

Результат: [біологія, хімія, математика]

Це замінює елемент з індексом 0 (фізика) на нове значення, яке ви хочете (хімія). Це можна зробити для будь-якого члена або підмножини списку, який потрібно змінити.

Навести інший приклад; припустимо, у вас є список, який називається цілими числами і містить цифри [2, 5, 9, 20, 27]. Щоб замінити 5 у цьому списку на 10, ви можете зробити це за допомогою:

 integers = [2, 5, 9, 20, 27]integers[1] = 10print(integers)>>> [2, 10, 9, 20, 27]

Щоб замінити останнього члена списку цілих чисел, який дорівнює 27, безкоштовним номером, таким як 30,5, ви б використали:

 integers = [2, 5, 9, 20, 27]integers[-1] = 30.5print(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], або
  • дель список [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
  • min (список): повертає елемент у списку з мінімальним значенням. Наприклад:
numbers = [2, 5, 7, 9]print(min(numbers))>>> 2
  • list (кортеж): перетворює об'єкт кортежу в список. Наприклад;
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 (index): видаляє елемент зі зазначеного індексу зі списку. Наприклад;
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]
  • list.reverse (): сторнує об'єкти списку. Наприклад;
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 не буде працювати. Ви отримаєте повідомлення про помилку: " TypeError : непідтримувані типи операндів для +: '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 elementsstrings = ['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 + 5print(elem)>>>>15253545556575

Прокрутити перші три елементи списку та видалити всі;

for elem in list[:3]:list.remove(elem)>>>list = [40, 50, 60, 70]

Щоб прокрутити 3- й (індекс 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, які використовуються для створення нових послідовностей (таких як списки, словники тощо) за допомогою вже створених послідовностей. Вони допомагають зменшити довші цикли та полегшити читання та обслуговування коду.

Наприклад; припустимо, ви хотіли створити список, який містить квадрати всіх чисел від 1 до 9:

list_of squares = []for int in range(1, 10):square = int ** 2list_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 є кращим варіантом, особливо якщо код складний, але в багатьох випадках розуміння списку спростить і пришвидшить ваше кодування.

Нижче наведена таблиця, що містить деякі функції та методи переліку та їх описи.

Вбудовані функції

ФУНКЦІЯ ОПИС
Круглий () Округлює число, передане як аргумент, до заданої кількості цифр і повертає значення з плаваючою комою
Хв() повертає мінімальний елемент заданого списку
Макс. () повертає максимальний елемент заданого списку
len () Повертає довжину списку
Перерахувати () Ця вбудована функція генерує як значення, так і індекси елементів у ітерабель, тому нам не потрібно підраховувати вручну
Фільтр () перевіряє, чи кожен елемент списку відповідає дійсності чи ні
Лямбда Вираз, який може з'являтися там, де def (для створення функцій) не є синтаксичною, всередині літералу списку або аргументів виклику функції
Карта () повертає список результатів після застосування заданої функції до кожного елемента даного ітерабелу
Накопичувати () застосувати певну функцію, передану в її аргументі, до всіх елементів списку, повертає список, що містить проміжні результати
Сума () Повертає суму всіх чисел у списку
Cmp () Це використовується для порівняння двох списків і повертає 1, якщо перший список більший за другий.
Вставити Вставити елемент у список у певній позиції

Методи списку

ФУНКЦІЯ ОПИС
Додати () Додає новий елемент до кінця списку
Очистити () Видаляє всі елементи зі списку
Копіювати () Повертає копію оригінального списку
Розширити () Додайте багато елементів у кінець списку
Рахувати() Повертає кількість повторень певного елемента у списку
Індекс () Повертає індекс певного елемента списку
Поп () Видаляє елемент зі списку за певним індексом (видалити за позицією)
Видалити () Видаляє вказаний елемент зі списку (видалити за значенням)
Зворотний() Метод сторнування на місці, який змінює порядок елементів елементів списку

Резюме

  • Список - це саме те, як це звучить, контейнер, що містить різні об’єкти Python, які можуть бути цілими числами, словами, значеннями тощо.
  • Списки Python можуть бути однорідними, тобто вони можуть містити однотипні об'єкти; або неоднорідні, що містять різні типи об’єктів.
  • Для доступу до значень у списках можна використовувати індекс об’єктів у списках.
  • Нарізка списку - це метод розділення підмножини списку, і для цього також використовуються індекси об’єктів списку.
  • Три способи видалення елементів списку: 1) list.remove (), 2) list.pop () та 3) оператор del
  • Метод додавання використовується для додавання елементів. Це додає елемент до кінця списку.
  • Метод циклу програми Python може виконуватися одночасно на декількох елементах списку даних.
  • Розуміння списків - це функції Python, які використовуються для створення нових послідовностей (таких як списки, словники тощо) за допомогою вже створених послідовностей.