python - 同时比较一个列表和另外两个列表
问题描述
我正在创建一个简单的井字游戏,目前正在编写检查获胜者的函数。我正在尝试执行以下操作:
['X', 'X', 'X'] == (['X', 'X', 'X'] or ['O', 'O', 'O'])
>>> True
在上述情况下,它会True
正确返回。另一方面,在这种情况下返回False
。
['O', 'O', 'O'] == (['X', 'X', 'X'] or ['O', 'O', 'O'])
>>> False
那么如何同时将列表与其他两个进行比较呢?
解决方案
布尔表达式不像那样工作——它们不像英语句子那样工作。你必须检查某物是否存在于某物之中。执行以下操作:
["X", "X", "X"] in (["X", "X", "X"], ["O", "O", "O"])
和
['O', 'O', 'O'] in (['X', 'X', 'X'], ['O', 'O', 'O'])
当您使用 时or
,python 将运算符的每一侧视为单独的表达式。看看这个:https ://docs.python.org/3/reference/expressions.html#operator-precedence
推荐阅读
- python - 从boruta导入Borutapy,错误:找不到名为Boruta的模块
- python - 遍历多个 pandas 数据框和 sqlite 选择/插入查询
- python - 如何在这里替换 for 循环?
- instagram-api - 访问 Instagram 的 Basic Display API 以获取有关特定公共帐户帖子的指标
- amazon-web-services - AWS Quicksight - 连接数据库和生成图表的逻辑
- java - Mockito 错误地给出 InvalidUseOfMatchersException?
- tensorflow - CNN1D 在二元分类问题(Keras)中只学习一个类
- python - 在python中的数据框中拆分空格分隔值的列
- php - 当用户每次在php pdo中更新记录时如何更新当前时间戳
- javascript - 如何交替兄弟Vue组件v-for渲染父组件列表中的共享数组