Помните, что порядок ключей в словаре может быть произвольным, он зависит от того, как
вы добавляете элементы.
Мы могли бы использовать любую последовательность, содержащую последо-
вательности, которые состоят из двух элементов. Рассмотрим остальные примеры.
Список, содержащий двухэлементные кортежи:
>>> lot = [ ('a', 'b'), ('c', 'd'), ('e', 'f') ]
>>> dict(lot)
{'c': 'd', 'a': 'b', 'e': 'f'}
Кортеж, включающий двухэлементные списки:
>>> tol = (['a', 'b'], ['c', 'd'], ['e', 'f'])
>>> dict(tol)
{'c': 'd', 'a': 'b', 'e': 'f'}
Список, содержащий двухсимвольные строки:
>>> los = [ 'ab', 'cd', 'ef' ]
>>> dict(los)
{'c': 'd', 'a': 'b', 'e': 'f'}
Кортеж, содержащий двухсимвольные строки:
>>> tos = ('ab', 'cd', 'ef')
>>> dict(tos)
{'c': 'd', 'a': 'b', 'e': 'f'}
В подразделе «Итерирование по нескольким последовательностям с помощью
функции zip()» раздела «Выполняем итерации с помощью for» главы 4 вы позна-
комитесь с функцией, которая называется zip(). Она позволит вам легко создавать
такие двухэлементные последовательности.
Добавление или изменение элемента
с помощью конструкции [ключ]
Добавить элемент в словарь довольно легко. Нужно просто обратиться к элементу
по его ключу и присвоить ему значение. Если ключ уже существует в словаре, име-
ющееся значение будет заменено новым. Если ключ новый, он и указанное значение
будут добавлены в словарь. Здесь, в отличие от списков, вам не нужно волноваться
86
Глава 3. Наполнение Python: списки, кортежи, словари и множества
о том, что Python сгенерирует исключение во время присваивания нового элемента,
если вы укажете, что этот индекс находится вне существующего диапазона.
Создадим словарь, содержащий большинство членов Monty Python, используя
их фамилии в качестве ключей, а имена — в качестве значений:
>>> pythons = {
... 'Chapman': 'Graham',
... 'Cleese': 'John',
... 'Idle': 'Eric',
... 'Jones': 'Terry',
... 'Palin': 'Michael',
... }
>>> pythons
{'Cleese': 'John', 'Jones': 'Terry', 'Palin': 'Michael',
'Chapman': 'Graham', 'Idle': 'Eric'}
Здесь не хватает одного участника — уроженца Америки Терри Гиллиама. Перед
вами попытка анонимного программиста добавить его, однако он ошибся, когда
вводил имя: