>>> 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() и т. д., поскольку кортеж не может быть изменен после создания. Почему же не применять везде списки вместо кортежей?
• Кортежи занимают меньше места.
• Вы не сможете уничтожить элементы кортежа по ошибке.
• Вы можете использовать кортежи как ключи словаря (см. следующий раздел).
•
• Аргументы функции передаются как кортежи (см. раздел «Функции» главы 4).
Более детально рассматривать кортежи я не буду. При решении повседневных задач вы будете чаще использовать списки и словари. И это хороший повод перейти к следующей теме.
Словари
Если вы работали с другими языками программирования, которые поддерживают только массивы и списки, то полюбите словари.
В других языках программирования словари могут называться ассоциативными массивами, хешами или хеш-таблицей. В Python словарь также называется dict для экономии места.
Создание словаря с помощью {}
Чтобы создать словарь, вам нужно обернуть в фигурные скобки ({}) разделенные запятыми пары
>>> empty_dict = {}
>>> empty_dict
{}
Создадим небольшой словарь, включающий цитаты из
>>> bierce = {
…·····"day": "A period of twenty-four hours, mostly misspent",
…·····"positive": "Mistaken at the top of one's voice",
…·····"misfortune": "The kind of fortune that never misses",
…·····}
>>>
Ввод имени словаря в интерактивный интерпретатор выведет все его ключи и значения:
>>> bierce
{'misfortune': 'The kind of fortune that never misses',
'positive': "Mistaken at the top of one's voice",
'day': 'A period of twenty-four hours, mostly misspent'}
В Python допускается наличие запятой после последнего элемента списка, кортежа или словаря. Вам также не обязательно использовать выделение пробелами, как я это сделал в предыдущем примере, когда вы вводите ключи и значения внутри фигурных скобок. Это лишь улучшает читабельность.
Преобразование с помощью функции dict()
Вы можете использовать функцию dict(), чтобы преобразовывать последовательности из двух значений в словари. (Вы иногда можете столкнуться с последовательностями «ключ — значение» вида «Стронций, 90, углерод, 14» или «Vikings, 20, Packers, 7».) Первый элемент каждой последовательности применяется как ключ, а второй — как значение.
Для начала рассмотрим небольшой пример, использующий lol (список, содержащий списки, которые состоят из двух элементов):
>>> lol = [['a', 'b'], ['c', 'd'], ['e', 'f']]
>>> dict(lol)
{'c': 'd', 'a': 'b', 'e': 'f'}