如何打印按值排序的字典?

问题描述 投票:0回答:2

我需要打印按值排序的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)))时,结果不再是字典,而是不同的数据结构,对吧?

python python-3.x sorting dictionary
2个回答
0
投票

您正在迭代列表的元组。因此,只需迭代键和值并根据需要打印即可]

dSorted = sorted(d.items(), key=itemgetter(1))
for key,value in dSorted:
        print(key + " : "+ value)

-1
投票

我假设您使用的是最新版本的python,如果是,则从排序列表中再做一个字典。

sorted_dict = dict(sorted(d.items(), key=itemgetter(1)))
print(sorted_dict)
© www.soinside.com 2019 - 2024. All rights reserved.