Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何打印按值排序的词典?_Python_Python 3.x_Sorting_Dictionary - Fatal编程技术网

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

我需要打印一个按值排序的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的最新版本(字典保持顺序),如果是这样,就从排序列表中再做一个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])