Python 如何检查列表中是否只存在两个特定值
我想用python做一个井字游戏。我试着做一个能显示平局的函数 我试图创建一个函数来检查嵌套列表,看看是否只有值“X”或“O”,如果是这样,则返回True 董事会=[“O”、“O”、“O”]、[“X”、“O”、“X”]、[“O”、“X”、“X”]] 我希望这是真的 董事会=[[1,“O”,“O”],[“X”,“O”,“X”],[“O”,“X”,“X”]] 我希望它返回FalsePython 如何检查列表中是否只存在两个特定值,python,for-loop,boolean,nested-lists,Python,For Loop,Boolean,Nested Lists,我想用python做一个井字游戏。我试着做一个能显示平局的函数 我试图创建一个函数来检查嵌套列表,看看是否只有值“X”或“O”,如果是这样,则返回True 董事会=[“O”、“O”、“O”]、[“X”、“O”、“X”]、[“O”、“X”、“X”]] 我希望这是真的 董事会=[[1,“O”,“O”],[“X”,“O”,“X”],[“O”,“X”,“X”]] 我希望它返回False 我可以找出如何测试整个列表以查看是否存在一个值,但我不知道如何检查两种类型的值。您可以使用itertools和设置操作
我可以找出如何测试整个列表以查看是否存在一个值,但我不知道如何检查两种类型的值。您可以使用
itertools
和设置操作,如:
来自itertools导入链的
def检查板(您的检查列表):
tmp_集=集(链(*您的_列表))
返回len(s-set(“OX”)==0
您可以使用关键字检查列表中是否存在元素。
如果提供列表作为要检查的元素,则它也适用于嵌套列表:
board = [["X","O","X"], ["O","O","O"], ["O","O","X"]]
if ["X","X","X"] in board:
print("yes")
打印“是”
要检查这两种情况,请使用操作员:
board = [["X","O","X"], ["O","O","O"], ["O","O","X"]]
if ["X","X","X"] in board or ["O","O","O"] in board:
print("yes")
请自己尝试,然后更新您的问题。