Python 如何找到列表中特定数字序列的起始位置?
我找不到这个问题的答案,我是一个新手程序员,很抱歉这个愚蠢的问题 比如说,在python中,我想找到序列[69,69]第一次出现在列表中时的位置Python 如何找到列表中特定数字序列的起始位置?,python,algorithm,python-3.x,list,sequences,Python,Algorithm,Python 3.x,List,Sequences,我找不到这个问题的答案,我是一个新手程序员,很抱歉这个愚蠢的问题 比如说,在python中,我想找到序列[69,69]第一次出现在列表中时的位置[34,34,34,50,39,69,69,54]。这个有列表符号吗?我觉得有,但我一直没能找到。我不想做函数,我想学习list/for方法 因此,如果a=[34,34,34,50,39,69,69,54]我如何找到[69,69]的起点?(作为一般性陈述)如果我假设[69,69]实际上是a?您可能希望a的宽度为2,然后检查它是否等于您的目标列表如果您不关
[34,34,34,50,39,69,69,54]
。这个有列表符号吗?我觉得有,但我一直没能找到。我不想做函数,我想学习list/for方法
因此,如果
a=[34,34,34,50,39,69,69,54]
我如何找到[69,69]
的起点?(作为一般性陈述)如果我假设[69,69]
实际上是a
?您可能希望a的宽度为2,然后检查它是否等于您的目标列表如果您不关心性能:int(,”。join(map(str[34,34,34,50,39,69,69,54])。index(“69,69”)/3)
如果你只需要处理0-255范围内的数字,这里有一个可爱的快捷方式,应该非常快:bytes(L).index(bytes(s))
不要相信这是一个与现有问题完全相同的问题-这个问题比建议的问题简单。下面是我的解决方案:列表(zip(x,x[1:]).index((69,69))
。如果a是[69,69]
,那么这将起作用:列表(zip(x,x[1:])。索引(tuple(a))
通过解释我上面的答案:解决方案将列表与减去第一个元素的相同列表一起压缩。这将生成一个包含(i和i+1)位置的成对列表。将其转换为一个列表,然后搜索有问题的一对(69,69)
我不相信这能回答OP的问题。OP询问如何找到69,69序列的起始位置。
[x for x in enumerate(a) if x[1] == 69]