我正在学习我的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
答案 0 :(得分:10)
>>> 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
答案 1 :(得分:0)
class1 = { 'Ethan':'9','Ian':'3','Helen':'8','Holly':'6' }
class1_keys = class1.keys()
class1_keys.sort()
for i in class1_keys:
print(i,class1[i])
Ethan 9
Helen 8
Holly 6
Ian 3