python - 如何将列表转换为这样的二维列表 [[1, 2, 3][4, 5, 6][7, 8, 9]]
问题描述
我将 csv 文件中的数据添加到列表中。但现在是这样的列表构建:
[1、2、3、4、5、6、7、8、9]
如何像这样在 2D 列表中转换列表:
[[1, 2, 3][4, 5, 6][7, 8, 9]]
lcsv=[]
newldata=[]
for column
newldata.append(
for row in lcsv:
newldata.append(lcsv[1*row][0])
newldata.append(lcsv[1*row][1])
newldata.append(lcsv[1*row][2])
)
怎么了?
解决方案
您可以将列表推导与range函数结合使用:
l = [1, 2, 3, 4, 5, 6, 7, 8, 9]
l = [l[i:i+3] for i in range(0, len(l), 3)]
>>> [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
range 函数生成 numbers [0, 6, 9, ..., len(l)]
,因此列表推导式中的语句l[i:i+3]
会将子列表l[0:3], l[3:6], and l[6:9]
放入一个新列表中。
推荐阅读
- python - Pyhook 在尝试将窗口名称解释为 ASCII 时崩溃
- javascript - 选中复选框时启用按钮
- yaml - 有条件地管理 Helm 图表依赖项,而不将子图表保留在“图表”目录中
- unit-testing - 为什么 unitest for sharpdx 在 Jenkins 上失败,但在本地失败,我该如何解决?
- javascript - 具有多个条目和 .css 的 Webpack 4
- powershell - 如何在不生成 PSScriptAnalyzer 警告的情况下创建区分大小写的 Hashtable?
- ruby-on-rails - 站点地图未在 ruby on rails sitemap_generator 中更新
- php - Laravel 侦察员搜索关系
- javascript - 我应该如何从我的价值 JSON 文件中提取一些信息?
- bloc - 如何在 Flutter Web 中控制浏览器刷新