python输出列表中的第二个元素_python – 替换列表中的每个第二个元素

我有一个二维列表:

[[5, 80, 2, 57, 5, 97], [2, 78, 2, 56, 6, 62], [5, 34, 3, 54, 6, 5, 2, 58, 5, 61, 5, 16]]

我需要将每个第二个元素更改为0,从第一个元素开始.所以看起来应该是这样的:

[[0, 80, 0, 57, 0, 97], [0, 78, 0, 56, 0, 62], [0, 34, 0, 54, 0, 5, 0, 58, 0, 61, 0, 16]]

我使用的算法:

for i in tempL:

for j, item in enumerate(i):

if i.index(item) % 2 == 0:

print('change, index:'),

print(i.index(item))

i[j] = 0

else:

print('not change, index:'),

print(i.index(item))

但我得到的是:

change, index: 0

not change, index: 1

change, index: 2

not change, index: 3

change, index: 4

not change, index: 5

change, index: 0

not change, index: 1

change, index: 2

not change, index: 3

change, index: 4

not change, index: 5

change, index: 0

not change, index: 1

change, index: 2

not change, index: 3

change, index: 4

not change, index: 5

change, index: 6

not change, index: 7

not change, index: 5

not change, index: 9

not change, index: 5

not change, index: 11

[[0, 80, 0, 57, 0, 97], [0, 78, 0, 56, 0, 62], [0, 34, 0, 54, 0, 5, 0, 58, 5, 61, 5, 16]]

有些元素没有改变,这是因为(我添加索引打印看),它认为这些元素的索引由于某种原因是7和9.它可以是什么,因为我找了这么长时间的bug还是找不到..

我仔细检查过,列表中没有多余的空格或任何东西.


版权声明:本文为weixin_36140400原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。