首页 > 解决方案 > 替换python列表中的特定模式索引项

问题描述

我想替换列表中的每 2 个替代项目。下面的例子:

a = [1, 2, 3, 9, 4, 1, 2, 2, 3, 3, 4, 2, 5, 2, 3]

结果应该是:

[1, ' ' , ' ', 9,  ' ',  ' ', 2,  ' ', ' ', 3, ' ', ' ', 5, ' ', 3]

最后一个和第一个项目不应该被替换

我有 for loop 蛮力枚举方法来做到这一点。我很好奇是否有任何简单而替代的方法可以做到这一点。

标签: pythonpython-2.7python-2.x

解决方案


一个简单for的就地更改循环实际上在速度和空间上都是最有效的:

for i in range(1, len(a) - 1):
    if i % 3:
        a[i] = ' '

推荐阅读