Python 3.x 使用2个列表在列表中查找索引

Python 3.x 使用2个列表在列表中查找索引,python-3.x,Python 3.x,我试图找到每个1的索引,它位于每个1组(序列)的末尾。下面示例的输出应该是[17,12,9,5,1] 我可以使用下面的公式在索引17处找到1,但我还需要在索引12处找到1。(即,它是1的每个序列(或组)中1的最后一个实例) list=[1,1,0,1,1,1,0,0,0,1,1,0,1,1,0,0,1,1,1,0,0] 索引_list1=[i代表i,如果v==1,则枚举(列表)中的v] 索引_list0=[i代表i,如果v==0,则枚举(列表)中的v] val1=无 对于索引列表1[:-1]中的

我试图找到每个1的索引,它位于每个1组(序列)的末尾。下面示例的输出应该是
[17,12,9,5,1]

我可以使用下面的公式在索引17处找到1,但我还需要在索引12处找到1。(即,它是1的每个序列(或组)中1的最后一个实例)

list=[1,1,0,1,1,1,0,0,0,1,1,0,1,1,0,0,1,1,1,0,0]
索引_list1=[i代表i,如果v==1,则枚举(列表)中的v]
索引_list0=[i代表i,如果v==0,则枚举(列表)中的v]
val1=无
对于索引列表1[:-1]中的i:
如果i
您可以简单地使用条件列表:

my_list = [1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0]
results = [i for i, value in enumerate(my_list) if value == 1 and (my_list+[0])[i+1] != 1]
print(results)
这会打印出来

[1, 5, 9, 12, 17]
附加
[0]
的原因是为了处理原始列表以
1
结尾的情况

[1, 5, 9, 12, 17]