给定一个列表:
my_list = ['abc', 'def', 'ghi']
我想提取包含“ab”的元素(永远只有一个)。
而不是像这样有点令人费解的东西:
[i for i in my_list if 'ab' in i][0]
我正在寻找某种方法来应用与 XPath contains()
等效的东西,但用于列表。
最佳答案
如果您担心遍历整个列表:
In [50]: L = ['abc', 'def', 'ghi']
In [51]: next(itertools.dropwhile(lambda s: 'ab' not in s, L))
Out[51]: 'abc'
不要忘记import itertools
关于python - 在没有列表理解的情况下在 Python 中提取包含字符串的列表项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33131778/