我的程序可以将每个学生的名字和他们的3分从一个dict文件中输出,但我需要按字母顺序对数据进行排序。我怎样才能按姓氏的字母顺序排列姓名和分数呢?
到目前为止这是我的代码: 进口腌菜
def clssa():
filename="friendlist.data"
f=open('Class6A.txt','rb')
storedlist = pickle.load(f)
for key, value in storedlist.items():
sorted (key), value in storedlist.items()
print (("{} --> {}").format(key, value))
字典没有排序,因此您必须对键进行排序,然后访问字典:
使用排序关键字。
How to sort dictionary by key in numerical order Python
https://wiki.python.org/moin/HowTo/Sorting
为了按学生的姓氏排序,首先必须从用作字典键的全名中提取。以下功能应该能够做到这一点:
然后您可以对字典内容进行如下迭代:
还有几点建议:
在
frq
函数中,应该用pass
替换skip
,这是一个有效的Python语句。除了使用不同的输入文件名之外,不必定义几个相同的函数(
clssa
、clssb
、clssc
),只需编写一个将文件名作为参数的函数(并为该函数提供一个更好的名称):在函数
clssq
中,然后替换由
相关问题 更多 >
编程相关推荐