如何根据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
。不要记住操作符