Skip to main content

Списки

Список (list) – це структура даних для зберігання елементів (об'єктів) не обов’язково одного типу. Список є впорядкованим змінюваним контейнером даних. Списки записуються як перелік елементів, розділених комою та взятих у квадратні дужки: [1, 2, 3, 'Hello'].

Для створення порожнього списку можна скористатися однією з наступних команд:

my_list = list()

empty_list = []

Список можна отримати з елементів об’єкту, що може ітеруватися (діапазон, рядок, словник, множина, кортеж, файл і т.д.) використавши функцію list([iterable]).

До списків, як і до рядків можна застосовувати операції «+» та «*» та вибір елементів списку за допомогою зрізів. Задати зріз можна одним з двох варіантів:

item[start: stop]

item[start: stop: step]

Також «*» використовують для розпакування списку. Розпакування (unpacking) є розкладанням колекції (кортежу, списку тощо) на окремі значення.

lst1 = [1, 2, 3]

print(lst1) # [1, 2, 3]

print(*lst1) # 1 2 3

Оскільки списки – змінювані, то елементи списку можна змінювати чи видаляти по індексу.

b = [1, 3, 5, 7, 9]

b[1:3] = [11, 12] # [1, 11, 12, 7, 9]

del b[2:4] # [1, 11, 9]

Функції списків

Щоб порахувати довжину списку ми використовуємо вбудовану функцію len().

Вбудована функція sum() приймає в якості параметра список чисел і обчислює суму його елементів. Вбудовані функції min() і max() приймають в якості параметра список і знаходять мінімальний і максимальний елементи відповідно.

Функція sorted() повертає відсортовану копію списку

Методи списків

list.append(x). Додає елемент x в кінець списку list.

chars = ['a', 'b']

chars.append('c')

print(chars) # ['a', 'b', 'c']

list.extend(iterable). Розширює існуючий список list за рахунок додавання до нього всіх елементів з iterable.

chars = ['a', 'b']

numbers = [1, 2]

chars.extend(numbers)

print(chars) # ['a', 'b', 1, 2]

list.insert(n, x). Вставляє в список list елемент x в позицію n (індекс елемента, після якого буде вставлений елемент).

chars = ["a", "b"]

chars.insert(1, "c")

print(chars) # ['a', 'c', 'b']

list.remove(x). Вилучає перше входження елемента x зі списку list; видалення елементу зі списку викличе помилку, якщо такого елементу немає в списку

chars = ['a', 'b']

chars.remove('b')

print(chars) # ['a']

list.pop([n]). Вилучає з списку list елемент з позиції n та повертає його, як результат виконання функції. Якщо використовувати метод без параметру, то буде вилучений останній елемент списку.

chars = ['a', 'b']

last = chars.pop(1)

print(chars) # ['a']

print(last) # 'b'

list.clear(). Очищує список list (вилучає всі елементи зі списку)

chars = ['a', 'b']

last = chars.clear()

print(chars) # []

list.index(x[, start[, end]]). Повертає індекс першого входження елемента x в зрізі list[start: end]

chars = ['a', 'b', 'c', 'd']

c_ind = chars.index('c')

print(c_ind) # 2

list.count(x). Повертає кількість входжень елемента x в список.

chars = ['a', 'b', 'c', 'a']

a_count = chars.count('a')

print(a_count) # 2

list.sort(key=None, reverse=False). Відсортовує елементи списку (аргументи методу можуть бути використані для налаштування сортування). За замовчуванням сортування відбувається за зростанням. Для сортування в зворотному порядку використовуйте параметр reverse = True. В результаті сортування змінюється сам список.

chars = ['z', 'a', 'b']

chars.sort()

print(chars) # ['a', 'b', 'z']

list.reverse(). Змінює порядок розташування елементів у списку на зворотний. Змінюється сам список.

chars = ['a', 'b']

chars.reverse()

print(chars) # ['b', 'a']

list.copy(). Повертає копію списку.

chars = ['a', 'b']

chars_copy = chars.copy()

chars == chars_copy # True