[dohtml]<a name="l6">Урок 6 - Кортежи (матем.), списки и словари</a>[/dohtml]
Ваш мозг ещё не переварил содержимое предыдущего урока? Не унывайте – этот урок будет довольно простым. Мы перейдем к более глубокому виду переменных – массивам.
Представьте, что переменные содержат один бит информации. Они могут вырвать (не только на обсуждении) эту информацию из любой точки. Их бит информации может измениться в переменных в любое время – большие, чем те, в которых они созданы – они могут хранить информацию, которую можно изменить в нужное время.
Но что, если вам нужно создать длинный список информации, который не изменяется со временем? Скажем, например имена месяцев года.
Или может быть длинный список информации, который изменяется со временем? Скажем, например имена всех ваших кошек. У вас могли появиться новые кошки или умереть старые.
Как насчет телефонной книги? Вы имеете набор имен, к которым прилагаются номера. Как вы это организуете?
Для этих трех проблем Питон предлагает три различных варианта решения – кортежи, списки и словари.
Списки – списки значений. Каждое значение имеет свой номер – первое – 0, второе – 1, третье – 2 и т.д. Вы можете удалять значения из списка и добавлять новые значения к концу. Например, имена ваших кошек
Кортежи подобны спискам, но вы не можете изменять их значения. Значения, которые вы зададите им изначально, будут действовать до окончания работы с программой. Кроме того, каждое значение перечислено с нуля, для облегчения ссылки. Например, имена месяцев года.
Словари подобны тому, что их название предлагает - словарь. В словаре, Вы имеете 'индексные' слова и для каждого из них определение. В питоне, слово называют 'ключом', а определение 'значением'. Значения в словаре не перечисляются - они не находятся в каком либо определенном порядке, ни один - ключ не означает ту же самую вещь. Вы можете добавить, удалить, и изменить значения в словарях. Например. Телефонная книга.
Теперь мы знаем, что они делают. Давайте рассмотрим их использование:
КОРТЕЖИ
Кортежи очень удобно создавать. Вы даете своему кортежу имя, после чего идет список его значений. Например, месяцы года:
Код:
months = ('January','February','March','April','May','June' *,\
'July','August','September','October','November',' *December')
Обратите внимание, что ‘\’ обозначает перенос значений на следующую строку – это облегчает рассмотрение структурности кортежа.
Технически вы не обязаны помещать круглые скобки вокруг списка, но в некоторых случаях вызывает ошибки
Вы можете оставлять пробелы между запятых, если вам такой вариант больше нравится
Питон расставляет значения в порядке, указанном вами, начинающемся с нуля. Тогда при предыдущем примере у вас получится следующее:
Код:
Index *Value
0 * * January
1 * * February
2 * * March
3 * * April
4 * * May
5 * * June
6 * * July
7 * * August
8 * * September
9 * * October
10 * *November
11 * *December
Мы знаем, что, можно довольно легко вспомнить значения из кортежа. Они - точно такие же, как перечисляемые переменные. Вот - пример:
Код:
#Сообщение компьютеру имен месяцев:
months = ('January','February','March','April','May','June' *,\
'July','August','September','October','November',' *December')
#Вывод января на экран:
print months[0]
#Вывод октября на экран:
print months[9]
#Создание переменной и присвоение ей значения августа
x = months[7]
print x
#помещение зимних месяцев (южного полушария) в отдельную переменную:
winter = months[5:8]
print winter
СПИСКИ
Списки очень похожи на кортежи. Они модифицируемы (изменяемы – как обычно говорят программисты), так, что их значения могут быть изменены. Наиболее чаще используются списки, нежели кортежи.
Списки определяются аналогично кортежам. Например у вас есть пять кошек: Tom, Snappy, Kitty, Jessie and Chester. Чтобы поместить их в список вам нужно написать такую строку:
Код:
cats = ['Tom', 'Snappy', 'Kitty', 'Jessie', 'Chester']
Как Вы видите, код аналогичен кортежам, за исключением того, что все значения помещаются между квадратными, а не круглыми скобками. Кроме того, в кортежах не было пространства после запятой.
Возврат значений из списков аналогичен кортежам – например вам нужно вывести имя вашей третей кошки:
Вы можете также вставить диапазон значений. Например вывод имен первых трех кошек будет выглядеть как print cats [0:2]
Добавить новое значение, например у вас появилась новая кошка по имени Catherine можно следующим образом:
Код:
cats.append('Catherine')
[продолжение следует]
Переводчик урока - swan