Учебники

Python — Списки

Список — это наиболее универсальный тип данных, доступный в Python, который можно записать в виде списка значений (элементов), разделенных запятыми, в квадратных скобках. Важным моментом в списке является то, что элементы в списке не обязательно должны быть одного типа.

Создать список так же просто, как поставить различные значения через запятую в квадратных скобках. Например —

list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]

Подобно строковым индексам, индексы списков начинаются с 0, и списки могут быть нарезаны, объединены и так далее.

Доступ к значениям в списках

Чтобы получить доступ к значениям в списках, используйте квадратные скобки для нарезки вместе с индексом или индексами, чтобы получить значение, доступное по этому индексу. Например —

#!/usr/bin/python

list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5, 6, 7 ]
print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]

Когда приведенный выше код выполняется, он дает следующий результат —

list1[0]:  physics
list2[1:5]:  [2, 3, 4, 5]

Обновление списков

Вы можете обновить один или несколько элементов списков, задав срез в левой части оператора присваивания, и вы можете добавлять элементы в список с помощью метода append (). Например —

#!/usr/bin/python

list = ['physics', 'chemistry', 1997, 2000]
print "Value available at index 2 : "
print list[2]
list[2] = 2001
print "New value available at index 2 : "
print list[2]

Примечание. Метод append () обсуждается в следующем разделе.

Когда приведенный выше код выполняется, он дает следующий результат —

Value available at index 2 :
1997
New value available at index 2 :
2001

Удалить элементы списка

Чтобы удалить элемент списка, вы можете использовать либо оператор del, если вы точно знаете, какие элементы вы удаляете, либо метод remove (), если вы не знаете. Например —

#!/usr/bin/python

list1 = ['physics', 'chemistry', 1997, 2000]
print list1
del list1[2]
print "After deleting value at index 2 : "
print list1

Когда приведенный выше код выполняется, он дает следующий результат —

['physics', 'chemistry', 1997, 2000]
After deleting value at index 2 :
['physics', 'chemistry', 2000]

Примечание. Метод remove () обсуждается в следующем разделе.

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

Списки реагируют на операторы + и * так же, как строки; они также означают конкатенацию и повторение, за исключением того, что результатом является новый список, а не строка.

Фактически списки отвечают на все основные операции последовательности, которые мы использовали со строками в предыдущей главе.