簡體   English   中英

如何根據 python 中兩個現有字典鍵值的條件匹配向字典添加新鍵?

[英]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.

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