Колекція List
Створення списку
my_list = [1, 2, 3, 'apple', 'banana']
my_list = list('hello')Список методів
| Метод | Опис |
|---|---|
| append() | Додає елемент в кінець списку. |
| extend() | Розширює список, додаючи в кінець всі елементи з указаної послідовності. |
| insert() | Вставляє елемент на вказану позицію. |
| remove() | Видаляє перше входження елемента. |
| pop() | Видаляє елемент по індексу і повертає його. |
| clear() | Видаляє всі елементи зі списку. |
| index() | Повертає індекс першого входження елемента. |
| count() | Підраховує кількість входжень елемента у списку. |
| sort() | Сортує елементи списку на місці. |
| reverse() | Розвертає елементи списку на місці. |
Діапазон індексів
Срез списку можна отримати, використовуючи синтаксис list[start:stop:step], де:
- start — початковий індекс елемента (включно);
- stop — кінцевий індекс елемента (не включено);
- step — крок, з яким відбувається вибірка елементів.
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# Отримання підсписку з третього по сьомий елемент
sub_list = my_list[2:7]
print(sub_list) # [2, 3, 4, 5, 6]
# Отримання кожного другого елемента списку
step_list = my_list[0:10:2]
print(step_list) # [0, 2, 4, 6, 8]
Додавання елементів
Використання методу append()
my_list = [1, 2, 3]
my_list.append(4)
print(my_list) # Виведе [1, 2, 3, 4]Використання методу extend()
my_list = [1, 2, 3, 4]
my_list.extend([5, 6])
print(my_list) # Виведе [1, 2, 3, 4, 5, 6]Використання методу insert()
my_list = [1, 2, 3, 4, 5, 6]
my_list.insert(0, 0)
print(my_list) # Виведе [0, 1, 2, 3, 4, 5, 6]
Зміна елемента
my_list = [1, 2, 3, 4]
my_list[2] = 30
print(my_list) # Виведе [1, 2, 30, 4]
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
numbers[2:5] = [20, 30, 40]
print(numbers) # Виведе [0, 1, 20, 30, 40, 5, 6, 7, 8, 9]
Видалення елементів
Метод remove()
my_list = ['apple', 'banana', 'cherry']
my_list.remove('banana')
print(my_list) # Виведе ['apple', 'cherry']Метод pop()
my_list = [1, 2, 3, 4, 5]
popped_element = my_list.pop(2)
print(popped_element) # Виведе 3
print(my_list) # Виведе [1, 2, 4, 5]Оператор del
numbers = [10, 20, 30, 40, 50]
del numbers[2] # Видаляє елемент 30
print(numbers) # Виведе [10, 20, 40, 50]
numbers = [10, 20, 30, 40, 50]
del numbers[1:3] # Видаляє елементи з індексами 1 і 2
print(numbers) # Виведе [10, 40, 50]Метод clear()
my_list = [1, 2, 3, 4, 5]
my_list.clear()
print(my_list) # Виведе []
Використання функції enumerate()
my_list = ["apple", "banana", "cherry"]
for index, element in enumerate(my_list):
print(f'Index: {index}, Element: {element}')
List Comprehension
[вираз for змінна in послідовність] Де:
- змінна — ідентифікатор деякої змінної,
- послідовність — послідовність значень, які приймає ця змінна (це може бути список, рядок чи об'єкт, отриманий за допомогою функції range),
- вираз — деякий вираз, як правило, залежний від використаної в генераторі змінної, яким будуть заповнені елементи списку.
Важливо! Усе вираз має бути укладено в квадратні дужки.
alist = [0 for i in range(100)]
n = 10
alist = [i + 1 for i in range(n)]
Сортування списків
Метод sort()
numbers = [5, 2, 9, 1]
numbers.sort()
print(numbers) # Виведе [1, 2, 5, 9]
numbers = [5, 2, 9, 1]
numbers.sort(reverse=True)
print(numbers) # Виведе [9, 5, 2, 1]Функція sorted()
numbers = [5, 2, 9, 1]
sorted_numbers = sorted(numbers)
print(sorted_numbers) # Виведе [1, 2, 5, 9]
print(numbers) # Вихідний список не змінений [5, 2, 9, 1]Сортування за ключем
Порівняння рядків без урахування регістру
alist = ["banana", "Orange", "Kiwi", "cherry"]
alist.sort(key=str.lower)
print(alist) # Виведе ['banana', 'cherry', 'Kiwi', 'Orange']Приклад сортування списку кортежів
students = [('Alice', 88), ('Bob', 75), ('Carol', 96)]
def get_grade(student):
return student[1]
students.sort(key=get_grade)
print(students) # Виведе [('Bob', 75), ('Alice', 88), ('Carol', 96)]Приклад сортування списку словників
students = [
{'name': 'Alice', 'grade': 88},
{'name': 'Bob', 'grade': 75},
{'name': 'Carol', 'grade': 96}
]
def get_grade(student):
return student['grade']
sorted_students = sorted(students, key=get_grade)
print(sorted_students) # Виведе [{'name': 'Bob', 'grade': 75}, {'name': 'Alice', 'grade': 88}, {'name': 'Carol', 'grade': 96}]Глибоке копіювання
Глибоке копіювання створює новий список, в якому також створюються копії всіх вкладених об'єктів. Це особливо важливо, коли списки містять інші змінювані типи даних, як інші списки. Для цього використовується модуль copy:
import copy
original = [[1, 2], [3, 4]]
deep_copy = copy.deepcopy(original)
2015-2026 © SumyNikNet