Python 如何打印按值排序的词典?
我需要打印一个按值排序的python字典。为了对字典进行排序,我使用了以下代码:Python 如何打印按值排序的词典?,python,python-3.x,sorting,dictionary,Python,Python 3.x,Sorting,Dictionary,我需要打印一个按值排序的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 = sort
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))
时,结果不再是一个字典,而是一个不同的数据结构,对吗?我假设您使用的是python的最新版本(字典保持顺序),如果是这样,就从排序列表中再做一个dict
sorted_dict = dict(sorted(d.items(), key=itemgetter(1)))
print(sorted_dict)
您正在迭代列表的元组。因此,只需迭代键和值,并根据需要打印即可
dSorted = sorted(d.items(), key=itemgetter(1))
for key,value in dSorted:
print(key + " : "+ value)
dSorted
中有什么?不,他在问如何以不同的格式打印结果……对不起,斯科特,我编辑了这个问题。帕里托斯:我找到了一种方法来对字典进行排序,只看这个问题,而不是如何打印它。谢谢你的回答。正确,你会得到一个元组列表。更具体地说,d.items()
本身是一种不同类型的视图。如果您使用的是python 3.6+,则可以通过相应地分配或使用它将排序的最终结果返回到字典中,然后您可以随意打印。请尝试sorted(d,key=lambda e:e[1])