假设我有一个清单:
a = ['apple', 'carrot']
和字典:
d ={'apple': [2,4], 'carrot': [44,33], 'orange': [345,667]}
如何使用 a 列表作为在词典 d 中查找的键?我希望将结果写入以逗号分隔的文本文件,如此
apple, carrot
2, 44
4, 33
将a = ['apple','orange']的a-list更改为a = ['apple','carrot']
答案 0 :(得分:8)
a = ['apple', 'orange']
d ={'apple': [2,4], 'carrot': [44,33], 'orange': [345,667]}
print ',\t'.join(a)
for row in zip(*(d[key] for key in a)):
print ',\t'.join(map(str, row))
输出:
apple, orange
2, 345
4, 667
答案 1 :(得分:3)
我知道其他人的速度更快,他们的解决方案也很相似,但这是我的看法(接受或离开):
a = ['apple', 'orange']
d ={'apple': [2,4], 'carrot': [44,33], 'orange': [345,667]}
fo = open('test.csv','w')
fo.write(',\t'.join(a)+'\n')
for y in xrange(len(d[a[0]])):
fo.write(',\t'.join([str(d[i][y]) for i in a])+'\n')
fo.close()
生成文件test.csv:
apple, orange
2, 345
4, 667
答案 2 :(得分:1)
问题很老,但对于将来的访问者,我建议使用list comprehensions为列表中的 k 键获取dict d 的值一个强>:
values = [ d[k] for k in a ]