2013-04-04 5 views
3

Я имею словарьКак использовать функцию словаря?

d = {'a':3, 'b':7, 'c':8} 

мне было интересно, как я мог изменить порядок словаря для того, чтобы сделать его выглядеть следующим образом:

d = {3:'a', 7:'b', 8:'c'} 

Я хотел бы сделать это без просто писать это так. Есть ли способ, которым я могу использовать первый dict для получения нового результата?

+4

Не сортировки , Просто отменяет ключи и значения. сначала я тоже неправильно понял – mshsayem

+3

_dict_ не должен использоваться как переменная – mshsayem

+0

Не используйте 'dict' в качестве имени переменной, класс словаря, основанный на python, уже называется' dict' – jamylak

ответ

11

Да. Вы можете вызвать items в словаре, чтобы получить список пар (ключ, значение). Тогда вы можете обратить кортежи и передать новый список в dict:

transposed = dict((value, key) for (key, value) in my_dict.items()) 

Python 2.7 и 3.x также словарные постижения, которые делают это лучше:

transposed = {value: key for (key, value) in my_dict.items()} 
+4

dict comps существуют в версии 2.7+, а не только 3.x –

Смежные вопросы