>>> 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']
可以使用
string.find(sub)
方法验证子字符串是否在字符串中:您正在使用
in
检查'potatoe'
是否在列表中,但这将检查列表中的特定项是否正好是'potatoe'
。你知道吗只需遍历列表,然后检查:
要测试列表中任何字符串中是否存在子字符串,可以使用any:
优点是
any
会在第一个True
中断,如果列表很长,效率会更高。你知道吗也可以将列表合并为一个由分隔符分隔的字符串:
这里的优势是如果你有很多测试。
in
例如,数百万次的测试比构建数百万次的理解要快。你知道吗如果您想知道哪个字符串有正数,可以使用列表理解和列表中字符串的索引:
或者,您可以使用
filter
,如果您只是希望字符串作为替代:相关问题 更多 >
编程相关推荐