Списки
Список (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