Элементы списка в Python: методы и примеры

Раздел: Структуры данных -> Массивы и списки

Список (list) в Python – это упорядоченная изменяемая коллекция произвольных объектов. Каждый элемент имеет свой индекс, начиная с нуля. В статье рассматриваются основные операции с элементами списка: доступ, изменение, добавление, удаление, а также продвинутые приемы.

Основные операции с элементами списка

Как получить элемент по индексу?

Наиболее прямой способ – обращение по индексу в квадратных скобках. Индекс может быть положительным (от 0 до n-1) или отрицательным (-1 – последний элемент).

my_list = [10, 20, 30, 40]
print(my_list[0])  # 10
print(my_list[-1]) # 40

Python элемент массива (элемент массива в python)

Результат:

10
40

Ошибка IndexError возникает при выходе за границы списка. Всегда проверяйте длину списка функцией len().

Как изменить элемент списка?

Присвоение нового значения по индексу изменяет существующий элемент.

my_list = [1, 2, 3]
my_list[1] = 99
print(my_list)  # [1, 99, 3]

Как добавить элемент в конец?

Метод append() добавляет один элемент в конец списка.

my_list = [1, 2]
my_list.append(3)
print(my_list)  # [1, 2, 3]

Если передать в append() список, он будет добавлен как один вложенный элемент.

Как вставить элемент в произвольное место?

Метод insert(index, value) вставляет элемент перед указанным индексом.

my_list = [1, 3]
my_list.insert(1, 2)
print(my_list)  # [1, 2, 3]
Как удалить элемент по индексу?

Команда del удаляет элемент по индексу. Метод pop(index) удаляет и возвращает элемент.

my_list = [10, 20, 30]
del my_list[1]
print(my_list)  # [10, 30]
val = my_list.pop()
print(val, my_list)  # 30 [10]

При неверном индексе del и pop() вызывают IndexError.

Как найти индекс элемента по значению?

Метод index(value) возвращает первый индекс, где найдено значение. Если элемент отсутствует, возникает ValueError. Можно указать начало и конец поиска.

my_list = [10, 20, 30, 20]
idx = my_list.index(20)
print(idx)  # 1
# Поиск с индекса 2:
idx2 = my_list.index(20, 2)
print(idx2) # 3

Дополнительные расширенные примеры работы с элементами списков в Python.

Пример
# Срез списка и замена целого диапазона
numbers = [0, 1, 2, 3, 4, 5]
numbers[1:4] = [10, 11, 12]
print(numbers)  # [0, 10, 11, 12, 4, 5]

# Удаление диапазона с помощью del
del numbers[1:4]
print(numbers)  # [0, 4, 5]
[0, 10, 11, 12, 4, 5]
[0, 4, 5]
Пример
# Использование list comprehension для фильтрации элементов
data = [1, 2, 3, 4, 5, 6]
even = [x for x in data if x % 2 == 0]
print(even)  # [2, 4, 6]

# Преобразование элементов с помощью map и lambda
squared = list(map(lambda x: x**2, data))
print(squared)  # [1, 4, 9, 16, 25, 36]
[2, 4, 6]
[1, 4, 9, 16, 25, 36]
Пример
# Работа с многомерными списками (матрицы)
matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]
# Получение элемента второй строки, третьего столбца
element = matrix[1][2]
print(element)  # 6
# Изменение целого столбца
for row in matrix:
    row[0] = 0
print(matrix)  # [[0, 2, 3], [0, 5, 6], [0, 8, 9]]
6
[[0, 2, 3], [0, 5, 6], [0, 8, 9]]
Пример
# Использование enumerate для получения индекса и значения
fruits = ['apple', 'banana', 'cherry']
for idx, fruit in enumerate(fruits):
    print(f'{idx}: {fruit}')
# Вывод:
# 0: apple
# 1: banana
# 2: cherry

# Сортировка списка с элементами разных типов (только сравнимые)
mixed = [3, 1, 2]
mixed.sort()
print(mixed)  # [1, 2, 3]
0: apple
1: banana
2: cherry
[1, 2, 3]
Пример
# Глубокое копирование списка (чтобы не модифицировать оригинал)
import copy
original = [[1, 2], [3, 4]]
shallow = original.copy()  # поверхностная копия
shallow[0][0] = 99
print(original)  # [[99, 2], [3, 4]] – изменен!

deep = copy.deepcopy(original)
deep[0][0] = 100
print(original)  # [[99, 2], [3, 4]] – не изменился
print(deep)      # [[100, 2], [3, 4]]
[[99, 2], [3, 4]]
[[99, 2], [3, 4]]
[[100, 2], [3, 4]]
Пример
# Использование списка как стека (LIFO)
stack = []
stack.append('a')
stack.append('b')
stack.append('c')
last = stack.pop()
print(last)   # c
print(stack)  # ['a', 'b']

# Использование списка как очереди (FIFO) с помощью collections.deque
from collections import deque
queue = deque([1, 2, 3])
queue.append(4)
first = queue.popleft()
print(first)  # 1
print(queue)  # deque([2, 3, 4])
c
['a', 'b']
1
deque([2, 3, 4])

Элемент массива в Python - comments

En
Python элемент массива (python)