gpt4 book ai didi

python - 如何测试字符串的一部分是否等于python列表中的项目?

转载 作者:行者123 更新时间:2023-11-30 22:36:49 26 4
gpt4 key购买 nike

我试图弄清楚如何使用字符串的一部分来测试列表中的项目。例如,如果列表包含“potatoechips”并且我有一个名为“potatoe”的字符串,如何检查该字符串是否在列表中的项目中找到?

list = ['potatoechips','icecream','donuts']

if 'potatoe' in list:
print true
else:
false

最佳答案

要测试列表中任何字符串中是否存在子字符串,您可以使用 any :

>>> li = ['potatoechips','icecream','donuts']
>>> s="potatoe"
>>> any(s in e for e in li)
True
>>> s="not in li"
>>> any(s in e for e in li)
False

优点是 any 会在第一个 True 时中断,如果列表很长,效率会更高。

您还可以将列表连接在一起形成一个由分隔符分隔的字符串:

>>> s in '|'.join(li)
True

这里的优势是如果您有很多测试。例如,用于数百万个测试的 in 比构建数百万个推导式要快。

如果您想知道哪个字符串具有正数,您可以使用列表理解和列表中字符串的索引:

>>> li = ['potatoechips','icecream','donuts', 'potatoehash']
>>> s="potatoe"
>>> [(i,e) for i, e in enumerate(li) if s in e]
[(0, 'potatoechips'), (3, 'potatoehash')]

或者,如果您只想使用字符串作为替代,则可以使用filter:

>>> filter(lambda e: s in e, li)
['potatoechips', 'potatoehash']

关于python - 如何测试字符串的一部分是否等于python列表中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44055107/

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