一尘不染

如何在Python 3.4.3中打印排序的字典

python

我正在为我的GCSE学习,其中一部分要求我打印按字母顺序排序的字典,并且打印内容应包含相关值。

我花了数小时试图找到答案,并浏览了该论坛上的各种帖子,但对于我的有限知识而言,大多数帖子太过复杂。

我可以打印按字母顺序排序的键,也可以打印排序后的值,但不能打印按字母顺序排序的键(附带值)。

这是我的简单测试代码

class1 = { 'Ethan':'9','Ian':'3','Helen':'8','Holly':'6' } # create dictionary

print(sorted(class1)) # prints sorted Keys
print(sorted(class1.values())) # Prints sorted values

我需要打印带有值的排序键-怎么做?

for k,v in class1.items():
    print(k,v)  # prints out in the format I want but not alphabetically sorted

阅读 245

收藏
2021-01-20

共1个答案

一尘不染

class1 = { ‘Ethan’:‘9’,’Ian’:‘3’,’Helen’:‘8’,’Holly’:‘6’ }
>>> print(sorted(class1.items()))
[(‘Ethan’, ‘9’), (‘Helen’, ‘8’), (‘Holly’, ‘6’), (‘Ian’, ‘3’)]

>>> for k,v in sorted(class1.items()):
...     print(k, v)
...
Ethan 9
Helen 8
Holly 6
Ian 3



>>> for k,v in sorted(class1.items(), key=lambda p:p[1]):
...     print(k,v)
...
Ian 3
Holly 6
Helen 8
Ethan 9

>>> for k,v in sorted(class1.items(), key=lambda p:p[1], reverse=True):
...     print(k,v)
...
Ethan 9
Helen 8
Holly 6
Ian 3
2021-01-20