python - 比较两个字典并打印差异
问题描述
我已经取了两个字典的值之间的差异。我目前所拥有的工作,但我想将“dict1 [x] - dict2 [x]”打印到我在结果前面写入的文件中。不仅仅是结果。我怎样才能做到这一点?我需要嵌套循环吗?
comparison = {x: dict1[x] - dict2[x] for x in dict1 if x in dict2}
file1 = open('Results.txt', 'w')
for key,value in comparison.iteritems():
print >> file1, ('%s: %s' % (key,value))
file1.close()
编辑:示例
每个字典中存储的值都是时间戳,所以我希望我的最终结果看起来像:
12:30-11:30 = 1:00
解决方案
您可以创建一个元组dict1[x]
和dict2[x]
dict 的键,并在迭代 dict 项时相应地解包:
comparison = {(dict1[x], dict2[x]): dict1[x] - dict2[x] for x in dict1 if x in dict2}
file1 = open('Results.txt', 'w')
for (time1, time2), value in comparison.iteritems():
print >> file1, ('%s-%s: %s' % (time1, time2, value))
file1.close()