python - 如何将 m*n 列表转换为 n*m 列表?
问题描述
如果有一个列表 [[1,2,3],[4,5,6]] 我如何将其转换为 [[1,4],[2,5],[3,6]] ?
def colu(j, data):
return [data[i][j] for i in range(len(data))]
我知道这段代码是从右到左的,但我不知道如何以相反的方式进行。
解决方案
转置嵌套列表的惯用方法是:
lst = [[1, 2, 3], [4, 5, 6]]
res = list(zip(*lst))
print(res) # [(1, 4), (2, 5), (3, 6)]
如果您坚持使用列表而不是元组:
res = [list(sublist) for sublist in zip(*lst)]
推荐阅读
- python - 关闭命令和更新命令不适用于一键
- amazon-web-services - 有没有人有一个示例构建规范,用于将单个构建的 docker 映像推送到不同 AWS 账户上的两个不同 ECR 中?
- sql - Big Query 匹配表之间的记录
- amazon-web-services - 我无法从 VPC 内部访问 AWS API 网关
- bash - 有没有办法使用 Locate 数据库在 Unix Shell 中执行复制?
- python - 如何从 Python 脚本中创建存储过程?
- javascript - 我在使用 JavaScript 和 HTML 时遇到了这个问题
- c# - c# - Revit api - 多版本插件 .csproj 文件
- azure - 是否可以在 Spring Boot Azure 应用程序中跟踪实时指标?
- r - 如何在 R 中使用 pagedown 和 kable 打印表格,然后是分页符