Ответ 1
Используйте sorted
с get
метод в качестве ключа (ключи словаря могут быть доступны итерация):
sorted(A, key=A.get)
Возможный дубликат:
Python: Сортировка словаря по значению
У меня есть такой словарь:
A = {'Name1':34, 'Name2': 12, 'Name6': 46,....}
Мне нужен список ключей, отсортированных по значениям, т.е. [Name2, Name1, Name6....]
Спасибо!!!
Используйте sorted
с get
метод в качестве ключа (ключи словаря могут быть доступны итерация):
sorted(A, key=A.get)
Используйте аргумент sorted
key
sorted(d, key=d.get)
sorted(a.keys(), key=a.get)
Это сортирует ключи, и для каждого ключа использует a.get
, чтобы найти значение, которое будет использоваться в качестве его значения сортировки.
Я бы использовал:
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]
), если хотите.