我有下面的字典
x_wins = {'row1_X': 'X' == x_o[0] and 'X' == x_o[1] and 'X' == x_o[2],
'row2_X' : 'X' == x_o[3] and 'X' == x_o[4] and 'X' == x_o[5],
'row3_X' : 'X' == x_o[6] and 'X' == x_o[7] and 'X' == x_o[8],
'col1_X' : 'X' == x_o[0] and 'X' == x_o[3] and 'X' == x_o[6],
'col2_X' : 'X' == x_o[1] and 'X' == x_o[4] and 'X' == x_o[7],
'col3_X' : 'X' == x_o[2] and 'X' == x_o[5] and 'X' == x_o[8],
'slant1_X' : 'X' == x_o[0] and 'X' == x_o[4] and 'X' == x_o[8],
'slant2_X' : 'X' == x_o[2] and 'X' == x_o[4] and 'X' == x_o[6]
}
,我想检查是否有任何键为True。我该怎么做?谢谢。
答案 0 :(得分:1)
您可以检查任何词典值是否为真:
< field regexp = "text\".+\"text" >
您也可以像这样使用if True in x_wins.values():
print("Success!")
else:
print("All False...")
:any
如果要获取值为True的密钥,则:
if any(x_wins.values()): ...
这将给出所有值为True的键的列表。
答案 1 :(得分:1)
如果我理解正确,则可以使用列表推导找到“ True”键:
true_keys = [x for x in x_wins if x_wins[x] == True]
示例:
x_o =['X','X','X',0,0,0,'X','X','X']
x_wins = {'row1_X': 'X' == x_o[0] and 'X' == x_o[1] and 'X' == x_o[2],
'row2_X' : 'X' == x_o[3] and 'X' == x_o[4] and 'X' == x_o[5],
'row3_X' : 'X' == x_o[6] and 'X' == x_o[7] and 'X' == x_o[8],
'col1_X' : 'X' == x_o[0] and 'X' == x_o[3] and 'X' == x_o[6],
'col2_X' : 'X' == x_o[1] and 'X' == x_o[4] and 'X' == x_o[7],
'col3_X' : 'X' == x_o[2] and 'X' == x_o[5] and 'X' == x_o[8],
'slant1_X' : 'X' == x_o[0] and 'X' == x_o[4] and 'X' == x_o[8],
'slant2_X' : 'X' == x_o[2] and 'X' == x_o[4] and 'X' == x_o[6]
}
true_keys = [x for x in x_wins if x_wins[x] == True]
print(true_keys)
输出:
['row1_X', 'row3_X']
答案 2 :(得分:0)