如何将一个值与多个值进行比较?

时间:2019-02-14 16:06:44

标签: python list logic

past_move = [" ", " ", " ", " ", " ", " ", " ", " ", " "]
o_win = ["O", "O", "O"]
if past_move[:3] == o_win or past_move[3:5] == o_win or past_move[6:8] == o_win or past_move[:8:3] == o_win or past_move[1::3] == o_win or past_move[2::3] == o_win or past_move[0::4] == o_win or past_move[2:8:2] == o_win:

这是我当前的代码,但是我不喜欢它,因为如果我想添加一组不同的变量来与其进行比较,那将是很长的一段代码,运行缓慢。 past_move在字符串的不同位置添加了“ Os”,我需要检查“ Os”模式中的模式

是否有更有效的方式写出此if语句?

1 个答案:

答案 0 :(得分:0)

使用in运算符获取比较值的列表

if o_win in [past_move[:3], past_move[3:5], past_move[6:8],
             past_move[:8:3], past_move[1::3], past_move[2::3],
             past_move[0::4], past_move[2:8:2]]: