Списки в Python

Списки в 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-канал.

YouTube Video