Unpickle 并在文件中输出字典

Unpickle and output dictionary in file

我有一个 pickled 文件,其中包含 class 中每个学生的姓名和 3 个分数。目前使用:

import pickle
filename="friendlist.data"
f=open('Class6B.txt','rb')
storedlist=pickle.load(f)
for i in storedlist:
    print(i)`

我只能打印名字,如何打印每个学生的3个分数?

如果 storedlist 是字典,则使用 for i in storedlist 遍历字典会将 i 设置为字典的键。如果您想改为打印值,请专门使用以下方法迭代这些值:

for i in storedlist.values():
    print(i)

要同时获取键和值,请使用:

for key, value in storedlist.items():
    print "{} --> {}".format(key, value)

这里,items()给你元组中的键和值,可以直接解包成两个单独的变量(上面的keyvalue)。

此外,如果字典有很多项目,使用 itervalues()iteritems() 在循环中生成值可能更有效,而无需完全构建列表,如进一步描述 here.