@nano_e_t_4

Как приравнять ключ и значение?

Всем привет
Подскажите, кто знает (может сталкивались) - как приравнять ключ к значение в словаре?
То есть, к примеру, есть словарь a = {'one' : 'uno', 'twо' : 'duo'}, нужно сделать one = uno, two = duo
  • Вопрос задан
  • 412 просмотров
Решения вопроса 2
@zedxxx
Элементарно же:
for key in a:
    print '%s = %s' % (key, a[key])
Ответ написан
@abcd0x00
То есть, к примеру, есть словарь a = {'one' : 'uno', 'twо' : 'duo'}, нужно сделать one = uno, two = duo

Ты так не сделаешь по одной простой причине: словарь не упорядочен.

То есть ты запишешь
a = {'one' : 'uno', 'twо' : 'duo'}

А храниться он будет произвольно
{'twо' : 'duo', 'one' : 'uno'}

Поэтому там есть OrderedDict в модуле collections.

>>> import collections
>>> 
>>> d = collections.OrderedDict([('one', 'uno'), ('two', 'duo')])
>>> d
OrderedDict([('one', 'uno'), ('two', 'duo')])
>>> ', '.join(map(' = '.join, d.items()))
'one = uno, two = duo'
>>>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
tsarevfs
@tsarevfs
C++ developer
Да просто создайте новый словарь с нужными элементами. Пробегитесь по values в исходном и добавьте их в новый как ключи и значения.
b = {v : v for v in a.values()}
Ответ написан
ptitca_zu
@ptitca_zu
Programmer. Reader. Introvert
tsarevfs Вам почти правильно написал (за исключением того, что нужно по ключам идти, а не по значениям)
b = { k : k for k in a.keys()}
А вот зачем Вы в своем коде 'c' поставили в качестве ключа - загадка.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
23 апр. 2024, в 19:21
300 руб./за проект
23 апр. 2024, в 19:05
15000 руб./за проект
23 апр. 2024, в 18:47
10000 руб./за проект