比较两个词典和打印差异

问题描述 投票:1回答:1

我已经对两个词典的值进行了区分。我目前的工作原理,但我想将“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 
python python-2.7 for-loop dictionary-comprehension
1个回答
1
投票

您可以将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()
© www.soinside.com 2019 - 2024. All rights reserved.