python-3.x - 将数字添加到列表的开头
问题描述
我有一个列表列表,比如 X,看起来像这样
X_train = [[4,3,1,5], [3,1,6,2], [5,0,49,4], ... , [3,57,3,3]]
我写了这段代码
for x in range(0,len(X_train)):
X_train[x].insert(0, x+1)
对于 X 中的每个列表,此代码将列表的索引值 + 1 插入到列表的开头。也就是说,运行
for x in range(0,len(X_train)):
X_train[x].insert(0, x+1)
print(X)
将产生以下输出
[[1,4,1,5],[2,3,1,6,2],[3,5,0,49,4],...,[n,3,57,3,3]]
其中 n 是 X 中的列表数。
问题:有没有更快的方法来做到这一点?我希望能够为非常大的列表执行此操作,例如具有数百万个子列表的列表(如果可能的话)。
解决方案
这在我的测试中更快:
X = [[n, *l] for n, l in enumerate(X, 1)]
推荐阅读
- reactjs - 通过推送 url 在 React 中测试 BrowserRouter
- email - Postfix 服务器配置 - 服务器的容量
- azure - 来自联合表集的 KQL 序列化值
- java - 存储相互依赖的 JsonObjects
- azure - Azure 持久函数、事件中心、事件网格以链接函数
- r - 了解 dplyr 中的 mutate 函数
- node.js - 在 loopback4 中集成 BullMonitorExpress。但队列未反映在 BullMonitorExpress 仪表板中
- informatica - 如何在 informatica power center 10.5 中启用二进制功能
- javascript - 在javascript中为音频元素添加停止/播放按钮
- javascript - 快速排序。为什么 Python 和 Javascript 中的类似实现差异如此显着?