簡體   English   中英

比較python中的兩個字典列表

[英]comparing two dictionary lists in python

我有兩個字典

{key1:[list_of_objects ], {key2:[list_of_objects ]}

例如

dict1 = {key1:['a', 'b', 'c', 'd' ], key2: ['f', 'g', 'h' ] }
dict2 = {key1:['a', 'b', 'c', 'd'],  key2: ['f', 'g', 'h', 'i' ] }

對於dict1和dict2中的eack密鑰,我想比較列表中的項目。

即,將dict1 [key1]中的每個值與dict2 [key1]中的對應值進行比較,依此類推。 列表中的項目是對象,因此將運行類似

if dict1[key1][0].some_function() = = dict2[key1][0].some_function()
     then condition

進行這種比較的最快方法是什么?

for key in dict1.keys():
    for a,b in zip(dict1[key],dict2[key]):
        if a.some_function() == b.some_function():
           #do something

如果您的列表很長,則可以從collections izip zip替換為izip

設置變得容易:

for key in dict1.keys():
    diff = set(dict1[key]).symmetric_difference(dict2[key])
    if diff:
        print "%s: %s" % (key, diff)  # or do whatever

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM