我有一个像 A = {'Name1':34, 'Name2': 12, 'Name6': 46,....}
这样的字典。
我该如何获取按值排序后的键列表,即 [Name2, Name1, Name6....]
?
我有一个像 A = {'Name1':34, 'Name2': 12, 'Name6': 46,....}
这样的字典。
我该如何获取按值排序后的键列表,即 [Name2, Name1, Name6....]
?
sorted
的 key
参数。sorted(d, key=d.get)
sorted(a.keys(), key=a.get)
这个函数会对字典的键进行排序,对于每个键,使用a.get
获取相应的值并将其作为排序依据。
a.keys
,它会创建一个键列表。a
(或 a.iterkeys()
)已经是字典 a 键的可迭代对象了。 - Mike Graham:
items = dict.items()
items.sort(key=lambda item: (item[1], item[0]))
sorted_keys = [ item[0] for item in items ]
key
参数是sort函数中的一个可调用对象,用于返回所需排序的键。在本例中,我返回了一个元组(value, key)
,但如果您愿意,也可以只返回值(即key=lambda item: item[1]
)。请注意保留HTML标签。sorted
函数:items = sorted(dict.items(), key=lambda item: (item[1], item[0])) - undefined