[英]How to add a new key to a dictionary based on condition match of two existed dict key values in python?
我有一本帶有 boolean 值的字典,
dict_prob = {'A': [True, False, True, False, True, True],
'B': [False, False, True, False, True, False]}
現在我想創建一個名為A_and_B的鍵並將其添加到新字典或當前字典中,
out_dict_con = {'A': [True, False, True, False, True, True],
'B': [False, False, True, False, True, False],
'A_and_B':[False,True,True,True,True,False] }
基本上,新創建的密鑰是 A 和 B 密鑰結合的結果。
您可以 zip 這兩個列表並在列表理解中進行比較:
dict_prob = {'A': [True, False, True, False, True, True],
'B': [False, False, True, False, True, False]}
dict_prob['A_and_B'] = [a == b for a,b in zip(dict_prob['A'], dict_prob['B'])]
dict_prob
將是:
{'A': [True, False, True, False, True, True],
'B': [False, False, True, False, True, False],
'A_and_B': [False, True, True, True, True, False]}
您可以像這樣添加到 python dict 對象
dict_prob['A_and_B'] = [not (a ^ b) for a,b in zip(dict_prob['A'], dict_prob['B']]
^
是 XOR 運算符。 XOR 的逆是雙向的。
這應該有效:
dict_prob = {'A': [True, False, True, False, True, True],
'B': [False, False, True, False, True, False]}
dict_prob['A_and_B'] = [a and b for a,b in zip(dict_prob['A'], dict_prob['B']]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.