те окружить ими значения, что позволяет сделать кортежи более заметны-
ми:
>>> 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'
Словари
83
>>> password, icecream = icecream, password
>>> password
'tuttifrutti'
>>> icecream
'swordfish'
>>>
Функция преобразования tuple() создает кортежи из других объектов:
>>> marx_list = ['Groucho', 'Chico', 'Harpo']
>>> tuple(marx_list)
('Groucho', 'Chico', 'Harpo')
Кортежи против списков
Вы можете использовать кортежи вместо списков, но они имеют меньше возмож-
ностей — у них нет функций append(), insert() и т. д., поскольку кортеж не может
быть изменен после создания. Почему же не применять везде списки вместо кор-
тежей?
Кортежи занимают меньше места.
Вы не сможете уничтожить элементы кортежа по ошибке.
Вы можете использовать кортежи как ключи словаря (см. следующий раз-
дел).
Именованные кортежи (см. пункт «Именованные кортежи» раздела «Когда
лучше использовать классы и объекты, а когда — модули» главы 6) могут слу-
жить более простой альтернативой объектам.
Аргументы функции передаются как кортежи (см. раздел «Функции» главы 4).
Более детально рассматривать кортежи я не буду. При решении повседневных
задач вы будете чаще использовать списки и словари. И это хороший повод перейти
к следующей теме.
Словари
Словарь очень похож на список, но порядок элементов в нем не имеет значения,