Подтвердить что ты не робот

Сортировать значения и возвращать список ключей из dict python

Возможный дубликат:
Python: Сортировка словаря по значению

У меня есть такой словарь:

A = {'Name1':34, 'Name2': 12, 'Name6': 46,....}

Мне нужен список ключей, отсортированных по значениям, т.е. [Name2, Name1, Name6....]

Спасибо!!!

4b9b3361

Ответ 1

Используйте sorted с get метод в качестве ключа (ключи словаря могут быть доступны итерация):

sorted(A, key=A.get)

Ответ 2

Используйте аргумент sorted key

sorted(d, key=d.get)

Ответ 3

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

Это сортирует ключи, и для каждого ключа использует a.get, чтобы найти значение, которое будет использоваться в качестве его значения сортировки.

Ответ 4

Я бы использовал:

items = dict.items()
items.sort(key=lambda item: (item[1], item[0]))
sorted_keys = [ item[0] for item in items ]

Аргумент key для сортировки является вызываемым, который возвращает используемый ключ сортировки. В этом случае я возвращаю кортеж (value, key), но вы можете просто вернуть значение (т.е. key=lambda item: item[1]), если хотите.