[英]Comparing values in two dictionaries when keys are different
我需要使用DIFFERENT鍵比較兩個字典之間的值,並將結果放入第三個字典中。 輸入:
a={1:[0,0], 2:[1,0], 3:[1,2]}
b={4:[1,2], 5:[1,3]}
輸出:我想有兩個字典,它們都將從'b'復制。 在所有情況下,我都想忽略條目“ 0”。 第一個輸出顯示“ a”中有多少個鍵具有與b中的鍵完全相同的值。
c={4:3, 5:0}
第二個輸出字典顯示“ a”中有多少個鍵具有與b中的鍵相同的值(只有1個)。
d={4:[2], 5:[2,3]}
我試圖這樣做:
c=dict.fromkeys(b.keys())
d=dict.fromkeys(b.keys())
for k, v in b.iteritems():
TST_s, TST_d= v[0], v[1]
for each, every in a.iteritems():
TRN_s, TRN_d= every[0], every[1]
if TST_s == TRN_s and TST_d==TRN_d:
c[k].append(each)
elif TST_s == TRN_s and TST_d!=TRN_d:
d[k].append(each)
elif TST_s!= TRN_s and TST_d==TRN_d:
d[k].append(each)
else:
pass
但是我越來越
AttributeError: 'NoneType' object has no attribute 'append'
任何幫助將不勝感激!
PS。 我知道代碼可以簡化,但是在編程方面我不是很有才華,而且我還沒有考慮過要在以后刪除的“ 0”。 此刻我只想讓它產生輸出...
c [k]和d [k]為None,因為dict.fromkeys(b.keys())
返回{4:None, 5:None}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.