data = {name:[scoreavg2]}
for k,v in data.items():
f.write(k + ": " + str(v))
当我运行此代码并输入数据时,它只会写入变量名称,但不会写入平均分数。
答案 0 :(得分:1)
根据定义,迭代字典只能遍历键。如果您明确地(for key in data:
)或隐式地(list(data)
或f.writelines(data)
执行此操作并不重要。
如果要迭代键和值,请使用.iteritems()
(Python 2)或.items()
(Python 3):
data = {name:[scoreavg2]}
for k,v in data.items():
f.write("{}: {}\n".format(k, v))
答案 1 :(得分:1)
让我们创建一些示例数据:
>>> data = {'dog':80, 'cat':90}
现在,让我们以有用的格式将其写入文件:
>>> filehandle.writelines('%s: %s\n' % item for item in data.items())
该文件将包含:
dog: 80
cat: 90
我们有一个包含多个项目的字典,我们希望以一些有用的形式打印它们。我们分两步完成。
首先,要获取字典中的项目,我们使用data.items()
。这将返回键,值对。
其次,对于每个键值对,我们需要对其进行格式化。在这里,我选择了键后跟冒号和空格,后跟值和换行符:'%s: %s\n' % item
。把它们放在一起看起来像;
'%s: %s\n' % item for item in data.items()
这是我们写入文件的内容。