如何返回Python中列表中存在的多个元素的索引?
我希望能够返回[4,5,6]的索引(在本例中返回4)。这里有一种实现方法:如何返回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指出了这个巨大的错误哈哈为什么人们要投票关闭?这是一个完全合理
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)
可以写成juststr
哦,是的,你是对的,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