如何根据python中两个现有dict键值的条件匹配向字典添加新键?

如何根据python中两个现有dict键值的条件匹配向字典添加新键?,python,dictionary,Python,Dictionary,我有一本布尔值的字典 dict_prob = {'A': [True, False, True, False, True, True], 'B': [False, False, True, False, True, False]} 现在我想创建一个名为a_和_B的键,并将其添加到新的dict或当前dict中 out_dict_con = {'A': [True, False, True, False, True, True], 'B':

我有一本布尔值的字典

dict_prob = {'A': [True, False, True, False, True, True],
             'B': [False, False, True, False, True, False]}
现在我想创建一个名为a_和_B的键,并将其添加到新的dict或当前dict中

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键结合的结果。

您可以压缩两个列表并在列表中进行比较:

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]}

您可以压缩这两个列表并在列表中进行比较:

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]}
这应该起作用:

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']]
这应该起作用:

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']]

您可以像这样向python dict对象添加

dict_prob['A_and_B']=[不是(A^B)表示A,B在zip中(dict_prob['A'],dict_prob['B']]

^
是XOR运算符。XOR的逆运算是双向的。

您可以像这样添加到python dict对象

dict_prob['A_and_B']=[不是(A^B)表示A,B在zip中(dict_prob['A'],dict_prob['B']]

^
是XOR运算符。XOR的逆运算是双向的。

连词
的意思是
,而不是
=
@lenik查看OP的期望输出。它被称为
A和B
,原因是什么?再次@lenik查看期望的输出。@MarkMeyer你是对的。这是一种真值表。lenik我正式地说ose给键起这个名字。
连词
的意思是
,而不是
=
@lenik查看OP所需的输出。它被称为
A和B
是有原因的吗?再次@lenik查看所需的输出。@MarkMeyer你是对的。这是一种真值表。lenik我正式选择给key起这个名字。
A和B
在这里是错误的。他们希望
False
+
False
是双向的
True
。不要记住操作符
a和b
在这里是错误的。他们希望
False
是双向的
True
。不要记住操作符