2013-09-09 3 views
3

Как я могу сортировать ключи с помощью кортежа или списка, а не возвращаемые значения? Например, у меня есть Dict:Сортировка dict с использованием кортежа или списка в Python

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

и кортеж:

t = ('d', 'b', 'c', 'a') 

Я хотел бы получить список значений, например:

[7, 3, 5, 1] 

Большое спасибо!

+3

Это не действительно вопрос о сортировке. –

ответ

6

Вы можете использовать список понимание:

>>> [d[k] for k in t] 
['7', 3, 5, 1] 

или map:

>>> map(d.get, t) 
['7', 3, 5, 1] 

Вы можете также создать OrderedDict с использованием элементов в t:

>>> from collections import OrderedDict 
>>> dic = OrderedDict((k, d[k]) for k in t) 
>>> dic.values() 
['7', 3, 5, 1] 
Смежные вопросы