Опубликован: 14.06.2015 | Доступ: свободный | Студентов: 4649 / 499 | Длительность: 21:48:00
Авторские права: Creative Commons Attribution 3.0
Самостоятельная работа 8:

Списки

< Самостоятельная работа 1 || Самостоятельная работа 8: 12345

Смотреть лекцию на: ИНТУИТ | youtube.com

Если проблемы с видео, нажмите выше ссылку youtube

Get Adobe Flash Player

По ссылке youtube выложено видео с русскими титрами.

16.1. Список является последовательностью

Подобно строке, список - последовательность значений. В строке значениями являются символы, в списке - они могут быть любого типа. Значения в списке называются элементами (elements) или иногда записями (items).

Есть несколько путей создания нового списка, самый простой - заключить элементы в квадратные скобки [ ]:

>>> [10, 20, 30, 40]
[10, 20, 30, 40]
>>> ['crunchy frog', 'ram bladder', 'lark vomit']
['crunchy frog', 'ram bladder', 'lark vomit']

В первом примере - список из четырех целых чисел, во втором - список из трех строк.

Элементы списка могут быть разного типа. Следующий список содержит строку, число с плавающей точкой, целое число и (внимание!) другой список:

>>> ['spam', 2.0, 5, [10, 20]]
['spam', 2.0, 5, [10, 20]]

Список внутри другого списка является вложенным (nested).

Список, который не содержит элементов, называется пустым (empty list), его можно создать с помощью пустых квадратных скобок [ ].

>>> cheeses = ['Cheddar', 'Edam', 'Gouda']
>>> numbers = [17, 123]
>>> empty = []
>>> print cheeses, numbers, empty
['Cheddar', 'Edam', 'Gouda'] [17, 123] []

16.2. Списки изменчивы

Синтаксис для доступа к элементам списка похож на доступ к символам строки - оператор скобки. Выражение внутри скобок определяют индекс. Запомните, что индекс начинается с нуля:

>>> print cheeses[0]
Cheddar

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

>>> numbers = [17, 123]
>>> numbers[1] = 5
>>> print numbers
[17, 5]

Вы можете представить список как связь между индексами и элементами. Эта связь называется отображением (mapping), каждый индекс отображается на один из элементов.

Следующая диаграмма состояний показывает списки cheeses, numbers и empty:


Списки на рисунке представлены прямоугольниками со словом список (list) снаружи и элементами списка внутри.

Список индексов работает так же, как и строковые индексы:

  • Любое целочисленное выражение можно использовать в качестве индекса.

  • Если вы попытаетесь прочитать или записать элемент, которого не существует, вы получите IndexError.

  • Если индекс имеет отрицательное значение, он ведет счет в обратном направлении от конца списка.

Оператор in работает аналогично для списков.

>>> cheeses = ['Cheddar', 'Edam', 'Gouda']
>>> 'Edam' in cheeses
True
>>> 'Brie' in cheeses
False
< Самостоятельная работа 1 || Самостоятельная работа 8: 12345
Ксения Шошина
Ксения Шошина

курс Программирование на Python

Илья Кизилов
Илья Кизилов

В лекции приводится программа для сортировки слов по их длинне. В коде ошибка. Я исправил так:

def sort_by_length(words):

words = words.split()

t = []

for word in words:

t.append((len(word), word))

t.sort(reverse=True)

res = []

for length, word in t:

res.append(word)

return res

print(sort_by_length(words))

 

Кто ещё как сделал?