Skip to main content
 首页 » 编程设计

python之从第二个元素开始枚举元素列表

2025年05月04日23lonelyxmas

我有这个列表

[['a', 'a', 'a', 'a'], 
 ['b', 'b', 'b', 'b', 'b'], 
 ['c', 'c', 'c', 'c', 'c']] 

我想连接每一行中的第二个和第三个元素,从第二行开始,做这样的事情:

[['a', 'a', 'a', 'a'], 
 ['b', 'bb', 'b', 'b'], 
 ['c', 'cc', 'c', 'c']] 

当我对每一行都这样做时,它似乎工作正常:

for index, item in enumerate(list_of_lines, start=0): 
    list_of_lines[index][1:3] = [''.join(item[1:3])]  

但是当我从第二行开始时 - 我有“列表索引超出范围”错误:

for index, item in enumerate(list_of_lines, start=1): 
    list_of_lines[index][1:3] = [''.join(item[1:3])]  

请您参考如下方法:

当你打电话时

enumerate(list_of_lines, start=1) 

,它生成的对不是

1 ['b', 'b', 'b', 'b', 'b'] 
2 ['c', 'c', 'c', 'c', 'c'] 

,而是

1 ['a', 'a', 'a', 'a'] 
2 ['b', 'b', 'b', 'b', 'b'] 
3 ['c', 'c', 'c', 'c', 'c'] 

也就是说,起始值表示使用的第一个索引应该是什么,而不是要使用的第一个元素是什么。

也许另一种方法如下:

for (index, item) in list(enumerate(list_of_lines))[1:]: 
    list_of_lines[index][1:3] = [''.join(item[1:3])]