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()
给你元组中的键和值,可以直接解包成两个单独的变量(上面的key
和value
)。
此外,如果字典有很多项目,使用 itervalues()
或 iteritems()
在循环中生成值可能更有效,而无需完全构建列表,如进一步描述 here.
我有一个 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()
给你元组中的键和值,可以直接解包成两个单独的变量(上面的key
和value
)。
此外,如果字典有很多项目,使用 itervalues()
或 iteritems()
在循环中生成值可能更有效,而无需完全构建列表,如进一步描述 here.