Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何返回Python中列表中存在的多个元素的索引?_Python - Fatal编程技术网

如何返回Python中列表中存在的多个元素的索引?

如何返回Python中列表中存在的多个元素的索引?,python,Python,我希望能够返回[4,5,6]的索引(在本例中返回4)。这里有一种实现方法: L=[0,8,5,6,4,5,6,14,8] 改用这个: def find_in_list(l, x): for i in range(len(l) - len(x) + 1): if l[i:i+len(x)] == x: return i 编辑:感谢isbadawi注意到了这个愚蠢的错误,感谢solilo指出了这个巨大的错误哈哈为什么人们要投票关闭?这是一个完全合理

我希望能够返回[4,5,6]的索引(在本例中返回4)。

这里有一种实现方法:

L=[0,8,5,6,4,5,6,14,8]
改用这个:

def find_in_list(l, x):
    for i in range(len(l) - len(x) + 1):
        if l[i:i+len(x)] == x:
            return i

编辑:感谢isbadawi注意到了这个愚蠢的错误,感谢solilo指出了这个巨大的错误哈哈

为什么人们要投票关闭?这是一个完全合理的问题。我认为“非真实问题”的投票来自那些认为您没有提供可供比较的示例代码的人。此外,你对某人的回答清楚地表明了你的问题,而这表明你几乎没有努力;有没有一个内置的Python函数可以让它成为一个简短的单行程序?它似乎是所有建议解决方案中运行速度最快的,而且它是一个单行程序
lambda c:str(c)
可以写成just
str
哦,是的,你是对的,duhIt错了,假设L=[0,1,1],x=[11],x不在L中,您的方法将返回1@solilo我想现在没事了
' '.join(map(str,L)).index(' '.join(map(str,x)))/2
In [193]: min(i for i in range(len(L)) if L[i:i+len(key)] == key)
Out[193]: 4

In [194]: L=[0,8,5,6,4,5,6,14,8]

In [195]: key=[4,5,6]

In [196]: min(i for i in range(len(L)) if L[i:i+len(key)] == key)
Out[196]: 4