在迭代期间在列表中插入元素

时间:2014-04-18 17:51:19

标签: python python-2.7

我需要在列表迭代期间插入元素并按以下方式执行。但我觉得它可以写得更好。这里B的字典包含A元素长度

_leftcell = leftcell[:]
index = 1
for A in leftcell:
    if B[A].length  % 140 != 0:
        _leftcell.insert(index, 2)
        index +=2
leftcell= _leftcell[:]

2 个答案:

答案 0 :(得分:3)

我会做类似的事情:

for item in leftcell[:]:
    if B[item].length % 140:
        leftcell.insert(leftcell.index(item), 2)

假设我已经正确地理解了你想要实现的目标。

答案 1 :(得分:3)

反向迭代列表,这样您就不必担心列表末尾的更改了

left_len = len(leftcell)
for i in xrange(left_len-1,0,-1):
    if B[leftcell[i]].length  % 140 != 0:
        leftcell.insert(i, 2)