2014-11-19 3 views
0

у меня есть словарь сказать:Python сортировки ключей словаря в список по значениям

Red : 2 
Blue : 1 
Yellow : 9 
Black : 9 
White : 5 

Мне нужно создать список ключей, отсортированных по значениям:

[Blue, Red, White, Black, Yellow] 

Есть ли neatish путь делать это?

У меня был обзор, и есть похожие вопросы, но все они, похоже, сортируют значения или ключи.

+0

Для чего это стоит, я не» t рассмотреть вопрос, обозначенный как «дубликат», как дубликат. К счастью, вы получили хороший ответ, прежде чем это произошло. –

+0

Используя дубликат, вы получите '[('Blue', 1), ('Red', 2), ('White', 5), ('Black', 9)]'. С помощью '[y для y, _ в отсортированном (x.items(), key = operator.itemgetter (1))]' вы получаете то, что хотите. – fredtantini

ответ

2

Вы можете использовать sorted функцию с dict.get в качестве ключа:

sorted(your_dictionary.keys(), key=your_dictionary.get)

или, как говорит в комментариях вы можете просто использовать:

sorted(your_dictionary, key=your_dictionary.get)

+0

Но это не использует значения? – user1546650

+2

@ user1546650: Исправлено. – Kevin

+2

вы можете просто выполнить сортировку (the_dict, key = the_dict.get) ' –

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