Списки в Python
В этой статье мы объясним, что такое списки в Python.
Вы можете изучить различные операции со списками и список-генераторы с примерами кода.
YouTube Video
Списки в Python
В Python структура данных, обычно называемая массивом, обычно реализуется как 'список'. Списки в Python очень гибкие и позволяют выполнять следующие операции:.
Создание списка
1# Create an empty list
2my_list = []
3print(my_list)
4
5# Create a list with elements
6my_list = [1, 2, 3, 4, 5]
7print(my_list)
- Вы можете создать список пустым или с указанными начальными элементами.
Доступ к элементам списка и их изменение
1my_list = [1, 2, 3, 4, 5]
2print(my_list) # [1, 2, 3, 4, 5]
3
4element = my_list[0] # Get the element at index 0
5print(element) # 1
6
7my_list[1] = 10 # Change the element at index 1 to 10
8print(my_list) # [1, 10, 3, 4, 5]
- К элементам списка можно обращаться или изменять их, указывая их индекс.
Получение длины списка
1my_list = [1, 2, 3, 4, 5]
2
3length = len(my_list)
4print(my_list)
5print(length)
- С помощью функции
len()
можно узнать количество элементов.
Добавление и вставка элементов в список
1my_list = [1, 2, 3, 4, 5]
2
3my_list.append(6)
4print(my_list)
- С помощью метода
append()
можно добавить элемент в конец списка.
1my_list = [1, 2, 3, 4, 5]
2
3my_list.insert(2, "A") # Insert "A" at index 2
4print(my_list)
- С помощью метода
insert()
можно вставить элемент в любое место списка.
Удаление элементов из списка
1my_list = [1, 2, 3, 4, 5]
2
3del my_list[2] # Delete the element at index 2
4print(my_list)
5
6removed_element = my_list.pop(0) # Delete and return the element at index 0
7print(removed_element)
8print(my_list)
- Используя оператор
del
или методpop()
, можно удалить элемент с указанной позиции. Методpop()
возвращает удалённый элемент.
1my_list = [1, 2, 3, 4, 5]
2
3my_list.remove(5) # Remove the first occurrence of 5 from the list
4print(my_list)
- С помощью метода
remove()
можно удалить первое вхождение указанного значения.
Срезы списков
1my_list = [1, 2, 3, 4, 5]
2
3print(my_list[1:3]) # [2, 3]
4print(my_list[:3]) # [1, 2, 3]
5print(my_list[2:]) # [3, 4, 5]
6print(my_list[:]) # [1, 2, 3, 4, 5]
- Синтаксис среза
[start:end]
извлекает элементы сstart
поend - 1
. Вы также можете опуститьstart
илиend
.
Сортировка списка
1my_list = [2, 1, 5, 4, 3]
2print(my_list) # [2, 1, 5, 4, 3]
3
4my_list.sort() # Sort in ascending order (modifies the list)
5print(my_list) # [1, 2, 3, 4, 5]
6
7my_list.sort(reverse=True) # Sort in descending order
8print(my_list) # [5, 4, 3, 2, 1]
- Метод
sort()
может отсортировать список по возрастанию или по убыванию.
1my_list = [3, 1, 4, 2]
2sorted_list = sorted(my_list)
3print(my_list) # [3, 1, 4, 2]
4print(sorted_list) # [1, 2, 3, 4]
- Функция
sorted()
позволяет создать новый отсортированный список, не изменяя исходный список.
Создание списка в обратном порядке
1my_list = [1, 2, 3, 4, 5]
2
3my_list.reverse()
4print(my_list)
- Метод
reverse()
может изменить порядок элементов списка на обратный.
Список с включениями
В Python можно использовать мощный синтаксис генераторов списков для лаконичного создания списков. Генераторы списков позволяют в одной строке создать новый список с помощью цикла for. Также можно использовать условия, чтобы извлекать только определённые элементы.
1# Generate squares of numbers from 0 to 9
2squares = [x**2 for x in range(10)]
3print(squares) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
4
5# Use a condition to extract squares of even numbers only
6even_squares = [x**2 for x in range(10) if x % 2 == 0]
7print(even_squares) # [0, 4, 16, 36, 64]
8
9# Store either the square or the original number based on a condition
10squares_or_original = [x**2 if x % 2 == 0 else x for x in range(10)]
11print(squares_or_original)
12# Output: [0, 1, 4, 3, 16, 5, 36, 7, 64, 9]
- С помощью генераторов списков можно лаконично создавать новые списки, используя циклы и условия. Используя конструкции
if
иif-else
, вы можете создавать включения списков (list comprehensions), которые извлекают элементы или генерируют различные значения на основе условий.
Сцепление списков
1# Concatenate two lists using the + operator
2a = [1, 2, 3]
3b = [4, 5, 6]
4combined = a + b
5print(combined) # [1, 2, 3, 4, 5, 6]
6
7# Extend an existing list with another list
8a = [1, 2, 3]
9b = [4, 5, 6]
10a.extend(b)
11print(a) # [1, 2, 3, 4, 5, 6]
12
13# Concatenate multiple lists using unpacking (*)
14a = [1, 2, 3]
15b = [4, 5, 6]
16c = [7, 8, 9]
17merged = [*a, *b, *c]
18print(merged) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
- В Python списки можно объединять с помощью оператора
+
, методаextend()
или синтаксиса распаковки (*
). Обычно+
или*
используют для создания нового списка, аextend()
— для обновления существующего списка.
Резюме
Списки являются основной структурой данных в Python и используются во многих ситуациях. Существует много гибких и полезных возможностей, и их освоение делает программирование более эффективным.
Вы можете следовать этой статье, используя Visual Studio Code на нашем YouTube-канале. Пожалуйста, также посмотрите наш YouTube-канал.