我想为这段代码或类似的东西获得一个很好的整理列表理解!
extra_indices = []
for i in range(len(indices)):
index = indices[i]
extra_indices.extend([index, index + 1, index +2])
谢谢!
编辑*索引是整数列表。另一个数组的索引列表。
例如,如果index是[1,52,150]那么目标(这里,这是我第二次想要对列表理解中的连续索引输出进行两次单独的操作)
然后extra_indices将是[1,2,3,52,53,54,150,151,152]
答案 0 :(得分:4)
你可以在list comp中使用两个循环 -
extra_indices = [index+i for index in indices for i in range(3)]
答案 1 :(得分:3)
from itertools import chain
extra_indices = list(chain(*([x,x+1,x+2] for x in indices)))
>>> indices = range(3)
>>> list(chain(*([x,x+1,x+2] for x in indices)))
>>> [0, 1, 2, 1, 2, 3, 2, 3, 4]