gpt4 book ai didi

python - 元组中的多个 or 条件

转载 作者:行者123 更新时间:2023-12-01 00:35:22 25 4
gpt4 key购买 nike

我想执行此操作:

if ('a' or 'b' or 'c' or 'd') in ['1' , '@' , 'L' , 'b' , '+']:
print("Valid")

由于列表中存在“b”,因此输出应为“有效”,但实际上没有输出。搜索了这么久,我发现不能使用多个“或”。还有其他办法吗?附:如果改为这样:

if ('a' or 'b') in ['1' , '@' , 'L' , 'b' , '+']:
print("Valid")

输出是“有效”,但我想要元组中有多个元素

最佳答案

Python any()

The any() method returns True if any element of an iterable is True. If not, any() returns False.

如果您想检查至少一个匹配项:

if any(x in ['1', '@', 'L', 'b', '+'] for x in ('a','b','c','d')):
print("Valid")

注意:

您在字符串上使用 bool 运算符的逻辑是错误的。

字符串之间 bool 运算的输出取决于以下因素:

  1. Python 将空字符串视为 bool 值“false”非空字符串具有 bool 值“true”。
  2. 对于“与”运算符,如果左值为 true,则右值为检查并返回。如果 left 值为 false,则返回
  3. 对于“或”运算符,如果左值为 true,则返回它,否则如果左值为 false,则返回右值。

('a' or 'b' or 'c' or 'd') 的结果将是 'a'

然后你有:if 'a' in ['1', '@', 'L', 'b', '+']:

关于python - 元组中的多个 or 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57822438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com