Простой Python. Современный стиль программирования (Любанович) - страница 40

>>>> one_marx = 'Groucho',

>>>> one_marx

>('Groucho',)

Если в вашем кортеже более одного элемента, ставьте запятую после каждого из них, кроме последнего:

>>>> marx_tuple = 'Groucho', 'Chico', 'Harpo'

>>>> marx_tuple

>('Groucho', 'Chico', 'Harpo')

При отображении кортежа Python выводит на экран скобки. Вам они совсем не нужны — кортеж определяется запятыми, — однако не повредят. Вы можете окружить ими значения, что позволяет сделать кортежи более заметными:

>>>> marx_tuple = ('Groucho', 'Chico', 'Harpo')

>>>> marx_tuple

>('Groucho', 'Chico', 'Harpo')

Кортежи позволяют вам присвоить несколько переменных за один раз:

>>>> marx_tuple = ('Groucho', 'Chico', 'Harpo')

>>>> a, b, c = marx_tuple

>>>> a

>'Groucho'

>>>> b

>'Chico'

>>>> c

>'Harpo'

Иногда это называется распаковкой кортежа.

Вы можете использовать кортежи, чтобы обменять значения с помощью одного выражения, без применения временной переменной:

>>>> password = 'swordfish'

>>>> icecream = 'tuttifrutti'

>>>> password, icecream = icecream, password

>>>> password

>'tuttifrutti'

>>>> icecream

>'swordfish'

>>>>

Функция преобразования tuple() создает кортежи из других объектов:

>>>> marx_list = ['Groucho', 'Chico', 'Harpo']

>>>> tuple(marx_list)

>('Groucho', 'Chico', 'Harpo')

Кортежи против списков

Вы можете использовать кортежи вместо списков, но они имеют меньше возможностей — у них нет функций append(), insert() и т. д., поскольку кортеж не может быть изменен после создания. Почему же не применять везде списки вместо кортежей?

• Кортежи занимают меньше места.

• Вы не сможете уничтожить элементы кортежа по ошибке.

• Вы можете использовать кортежи как ключи словаря (см. следующий раздел).

• Именованные кортежи (см. пункт «Именованные кортежи» раздела «Когда лучше использовать классы и объекты, а когда — модули» главы 6) могут служить более простой альтернативой объектам.

• Аргументы функции передаются как кортежи (см. раздел «Функции» главы 4).

Более детально рассматривать кортежи я не буду. При решении повседневных задач вы будете чаще использовать списки и словари. И это хороший повод перейти к следующей теме.

Словари

Словарь очень похож на список, но порядок элементов в нем не имеет значения, и они выбираются не с помощью смещения. Вместо этого для каждого значения вы указываете связанный с ним уникальный ключ. Таким ключом в основном служит строка, но он может быть объектом одного из неизменяемых типов: булевой переменной, целым числом, числом с плавающей точкой, кортежем, строкой и другими объектами, которые вы увидите далее. Словари можно изменять, что означает, что вы можете добавить, удалить и изменить их элементы, которые имеют вид «ключ — значение».