假设我有以下数据:
l = ['abc', 'def', 'ghi']
sub = 'bc'
'bc' 始终是列表中仅一个元素的子字符串!
以及一个像这样工作的函数:
def f(l, sub):
return [x for x in l if sub in x][0]
因此该函数将返回“abc”,因为其中包含“bc”
我的问题是: 编写该函数以使其不使用列表索引的其他方法是什么? ([0]) 有没有办法做到“更漂亮”?
最佳答案
将 next(..)
与生成器一起使用。当它找到第一个实例时,就会中断
。当然,这是假设您的列表中确实存在一个元素。
def f(l, sub):
return next(x for x in l if sub in x)
关于python - 如果该字符串包含子字符串,则从列表中获取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59090654/