Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 60

{'c': 'd', 'a': 'b', 'e': 'f'}

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

вы добавляете элементы.

Мы могли бы использовать любую последовательность, содержащую последо-

вательности, которые состоят из двух элементов. Рассмотрим остальные примеры.

Список, содержащий двухэлементные кортежи:

>>> 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'}

Здесь не хватает одного участника — уроженца Америки Терри Гиллиама. Перед

вами попытка анонимного программиста добавить его, однако он ошибся, когда

вводил имя: