«Я произношу слово tuple как too-pull по понедельникам, средам и пятницам и как tub-pull —
по вторникам, четвергам и субботам. В воскресенье я вообще о них не говорю :)».
Списки
71
Списки
Списки служат для того, чтобы хранить объекты в определенном порядке, особен-
но если порядок или содержимое могут изменяться. В отличие от строк список
можно изменить. Вы можете изменить список, добавить в него новые элементы,
а также удалить или перезаписать существующие. Одно и то же значение может
встречаться в списке несколько раз.
Создание списков с помощью оператора []
или метода list()
Список можно создать из нуля или более элементов, разделенных запятыми и за-
ключенных в квадратные скобки:
>>> empty_list = [ ]
>>> weekdays = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
>>> big_birds = ['emu', 'ostrich', 'cassowary']
>>> first_names = ['Graham', 'John', 'Terry', 'Terry', 'Michael']
Кроме того, с помощью функции list() можно создать пустой список:
>>> another_empty_list = list()
>>> another_empty_list
[]
В разделе «Включения» главы 4 показан еще один способ создать список, который называ-
ется включением списка.
Только список weekdays использует тот факт, что элементы стоят в определенном
порядке. Список first_names показывает, что значения не должны быть уникаль-
ными.
Если вы хотите размещать в последовательности только уникальные значения, множество
(set) может оказаться лучшим вариантом, чем список. В предыдущем примере список big_birds
вполне может быть множеством. О множествах вы можете прочесть далее в этой главе.
Преобразование других типов данных в списки
с помощью функции list()
Функция list() преобразует другие типы данных в списки. В следующем примере
строка преобразуется в список, состоящий из односимвольных строк:
>>> list('cat')
['c', 'a', 't']
72
Глава 3. Наполнение Python: списки, кортежи, словари и множества
В этом примере кортеж (этот тип мы рассмотрим сразу после списков) преоб-
разуется в список:
>>> a_tuple = ('ready', 'fire', 'aim')
>>> list(a_tuple)
['ready', 'fire', 'aim']
Как я упоминал в подразделе «Разделяем строку с помощью функции split()»
раздела «Строки» главы 2, можно использовать функцию split(), чтобы преобра-
зовать строку в список, указав некую строку-разделитель:
>>> birthday = '1/6/1952'
>>> birthday.split('/')
['1', '6', '1952']