python - 替换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 蛮力枚举方法来做到这一点。我很好奇是否有任何简单而替代的方法可以做到这一点。
解决方案
一个简单for
的就地更改循环实际上在速度和空间上都是最有效的:
for i in range(1, len(a) - 1):
if i % 3:
a[i] = ' '
推荐阅读
- javascript - 数组排序问题 - Codewars Kata“组织循环赛”
- upc - 伯克利 UPC 编译器错误 upcc: error running '/bin/gmake --no-print-directory' to link application
- android - 更新数据库后如何在 Recyclerview 外更新 TextView
- oracle - 测试连接时 OLEDB Oracle 11g 的集成服务错误
- python - 如何在 matplotlib.pyploy 中显示变量平均值的线和 95% 上限的线
- javascript - Laravel vue axios 不返回 response.data
- tinymce - TinyMCE 5:可以忽略的自动完成功能,因此您只需键入自己的条目
- reactjs - 用 GO 编写的 gRPC 服务集合与 Javascript 客户端之间通信的最佳解决方案是什么?
- ios - ios13下svg图片变色问题
- terraform - terraform replace() - “str”参数的值无效:需要字符串