gpt4 book ai didi

python - 了解 Python if 语句中的任何关键字

转载 作者:行者123 更新时间:2023-11-28 20:20:58 25 4
gpt4 key购买 nike

我有 2 个 Python 列表,如下所示:

>>> clean = ['SNAT2VIP', 'http2https']
>>> ugly = ['/Common/SNAT2VIP', '/Common/http2https']

我现在需要遍历 clean 的每个成员,看看它是否存在于 ugly 的任何地方。所谓“存在”,我的意思是它可以作为一个整体存在,也可以作为丑陋元素中的 substring 存在。

这是我想出的:

>>> for item in clean:
... if (word in item for word in ugly):
... print "yes"
... else:
... print "no"
...
yes
yes

如我所料工作。但是,如果我添加 any,输出将更改如下:

>>> for item in clean:
... if any(word in item for word in ugly):
... print "yes"
... else:
... print "no"
...
no
no

any 做了什么来改变输出?

最佳答案

因为表达式 (word in item for word in ugly)Boolean 值将始终为 True,因为它返回一个 generator 对象.

您可以使用 bool 内置函数进行检查。

bool(word in item for word in ugly)

因此,要使用 any 内置函数,您必须遵循:-

if any(item in word for word in ugly):

代替:-

if any(word in item for word in ugly):

因为您的 word 字符串位于 item 字符串中。

>>> 'SNAT2VIP' in '/Common/SNAT2VIP'
True
>>>
>>> '/Common/SNAT2VIP' in 'SNAT2VIP'
False

关于python - 了解 Python if 语句中的任何关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29392260/

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