python - 如果该字符串包含子字符串,则从列表中获取字符串

标签 python string list substring

假设我有以下数据:

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/

相关文章:

python - 使用 Gunicorn 部署 Django 应用程序时出错?

python - 在 docker 镜像中安装 Python3.9 和 pip(而不是 python 3.8)

python - 将函数应用于 Pandas dfs 列表

java - 如何实现列表与数组列表

list - Scala 过滤元组列表

python - Python 的交换符号中的顺序重要吗? (a, b = b, a)

python - 根据目标数据集查找数据集中最接近的数字

c++ - 如何在 C++ 循环中将新字符插入 StringStream 并提取到字符串?

iPhone 删除 <![CDATA

string - 在 SWIFT 中遇到逗号时将字符串换行