我有一些代码:
text = ''
for key, value in d:
text += k + ' ' + str(v) + '\n'
file = open('ATM Data', 'w')
file.write(text)
file.close()
当它运行时它会引发一个
ValueError: need more than 0 values to unpack
但实际上我的字典中确实有一些东西。 有人可以帮忙吗?
答案 0 :(得分:3)
如果d
是字典,那么您必须使用d.items()
或d.iteritems()
来key, value
作为字对。
答案 1 :(得分:0)
字典的迭代器只迭代键,因此您可以使用items
(可移植),或者只是遍历键并获取值:
for key, value in d.items():
text += key + ' ' + str(value) + '\n'
或
for key in d:
text += key + ' ' + str(d[key]) + '\n'
请注意,使用带有生成器表达式的join
可以获得更高的性能:
text = '\n'.join('{} {}'.format(key, value) for key, value in d.items()) + '\n'