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