初学者问题:我有一本字典,其中的值是(变量# of)字符串的列表。最终,我想将每个字典条目写入单个制表符分隔的行,其中键作为第 1 列,值列表中的各个项目作为第 2-n 列。我使用以下代码生成了一个输出文件,其中键为第 1 列,值列表为第 2 列,但我不确定如何从那里开始。
mydict = {'spider':['kate', 'susan'],
'fish':['kate'],
'dog':['andy'],
'cat':['andy','colby','jeff']}
f = open('outfile.txt', 'w')
writer = csv.writer(f, delimiter = '\t')
for key, value in orfdict.iteritems():
writer.writerow([orf] + [value])
python 文档建议您可以使用 zip() 创建一个列表形式的键:值对,但是当我在交互式提示符下尝试此操作时:
>>> for key,value in mydict.iteritems():
... mypair = zip(key,value)
... print mypair
我得到这个奇怪的输出,所以我显然不明白:
[('f', 'kate')]
[('c', 'andy'), ('a', 'colby'), ('t', 'jeff')]
[('s', 'kate'), ('p', 'susan')]
[('d', 'andy')]
最简单的方法是为字典的每次迭代创建一个空列表,然后首先将键附加到该列表,然后每个值都带有缩进的 for 循环?我觉得我一定是错过了什么。