使用python时,如果我想将连续的5条缩小到一个单独的,在一个列表中:如何删除“4一个,但仍然保留我的原始索引”?
for i in list1:
if list1[counter] == 1:
if list1[index_begin+1:index_begin+5].count(1)=4:
print("Delete the last four digits")
del list1[index_begin+1:index_begin+5]
else:
print("There is no match")
index_begin+=1发布于 2019-01-30 00:02:02
因此,我所做的就是使用另一个列表,在其中我将我希望从list1中得到的值附加到其中,因此我的名字是resultList。
这样,我就不用担心原始列表的长度会改变,然后很难跟踪索引。
另外,通过使用while循环,它允许我更改我们在list1中查看的当前索引,i+=4允许我们跳过其他4个索引,然后继续列表的其余部分。
如果您愿意,可以将它转换为一个函数,允许您重用它,并按您的意愿多次发送列表。
希望这是有意义的,并有所帮助:)
list1 = [1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1]
resultList = []
i = 0
while i < len(list1):
if list1[i] == 1:
if list1[i+1:i+5].count(1) == 4:
resultList.append(1);
i += 4
else:
resultList.append(list1[i])
else:
resultList.append(list1[i])
i+=1
print(i)
print(resultList)https://stackoverflow.com/questions/54430988
复制相似问题