通过使用python比较来自两个词典的值来创建字典

时间:2012-03-14 01:17:56

标签: python dictionary

字典:

dict1={pk1:date1, pk2:date2, pk3:date3, pk5:date5}
dict2={pk1:date11, pk3:date13, pk6:date16}

我试图比较dict1和dict2之间的值,其中对于给定的pk,如果dict1中的日期小于dict2it将返回" Old record"。否则,如果dict1中的值比dict2更新(或者dict2中缺少k:v对),则返回datetime.now() - 来自dict1的值。

因此得到的字典可能如下所示:

dict3={pk1: datetime.now()-date1, pk2: datetime.now()-date2, pk3: "old record", pk5: datetime.now()-date5}  

(假设date1比日期11更新,而date3比date13更新。)

Comparing two dictionaries in Python似乎是一个很好的起点,但我并不完全明白所有情况都会根据我的情况进行编辑。

1 个答案:

答案 0 :(得分:4)

你可以字典理解:

{k1:datetime.now() - v1 if (k1 not in dict2 or v1 > dict2[k1]) 
                      else 'Old record' 
 for k1,v1 in dict1.iteritems()}

它表示“如果k1 dict2dict1[k1] > dict2[k1]那么datetime.now() - dict1[k1]否则,“旧记录”。“

相关问题