Колекція 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