我需要打印按值排序的python字典。我使用以下代码对字典进行排序:
from operator import itemgetter
print(sorted(d.items(), key=itemgetter(1)))
字典排序正确,但是输出是这样的:
[('Apple', '1'), ('Pears', '2'), ('Bananas', '3')]
我希望:
Apple : 1
Pears : 2
Bananas : 3
我输入了错误的代码:
dSorted = sorted(d.items(), key=itemgetter(1))
for i in dSorted:
print(i + " : "+ dSorted[i])
如何获得此结果?而且,为了更好地理解,当我使用(sorted(d.items(), key=itemgetter(1)))
时,结果不再是字典,而是不同的数据结构,对吧?
您正在迭代列表的元组。因此,只需迭代键和值并根据需要打印即可]
dSorted = sorted(d.items(), key=itemgetter(1))
for key,value in dSorted:
print(key + " : "+ value)
我假设您使用的是最新版本的python,如果是,则从排序列表中再做一个字典。
sorted_dict = dict(sorted(d.items(), key=itemgetter(1)))
print(sorted_dict)