Python:在列表第一个行中查找第一个列表的索引

标签 python list find

这是在 x 大列表中查找 y 列表索引的解决方案

def getsubidx(x, y):
    l1, l2 = len(x), len(y)
    for i in range(l1):
        if x[i:i+l2] == y:
            return i

是否可以使用itertools、过滤器或其他工具将其转换为oneliner?

最佳答案

def getsubidx(x, y):
    return next(i for i in range(len(x)) if x[i:i+len(y)] == y)

如果不匹配,您可能希望引发错误,否则可以返回 -1

return next((i for i in range(len(x)) if x[i:i+len(y)] == y), -1)

关于Python:在列表第一个行中查找第一个列表的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27650784/

相关文章:

Python - 将 .readlines() 与 .rstrip() 结合使用,然后将所有单词存储到列表中

python - 导入内容的对象范围如何工作?

python - python如何将任意对象转换为列表?

mysql - 仅在行首查找和替换

java - Selenium (java)findelements中的findelements

python - 如何使用 Python 的请求模块上传非 utf-8 编码的文件?

python - 我如何在 python 中向下转换

list - 从列表 F# 中删除每第 3 个元素

python - 如何从列表中删除小于前一个数字目标值的值

javascript - Find() 函数返回未定义 - Mongoose 和 Node.js