arrays - 如何在 Python 3 中转置数组?

标签 arrays python-3.x transpose

我一直在浏览论坛,但尚未找到适合我的情况的答案。我需要能够获取一个 n × n 数组并在 Python-3 中转置它。给出的示例是我将此列表输入到函数中:

[[4, 2, 1], ["a", "a", "a"], [-1, -2, -3]] 需要转置为:

[[4, 'a', -1], [2, 'a', -2], [1, 'a', -3]] 所以基本上是垂直阅读而不是水平阅读。

我不能使用 zip 或 numpy 之类的东西,我必须创建自己的函数。

我已经为此绞尽脑汁两个晚上了,真是头疼极了。如果有人可以提供帮助并提供解释以便我可以学习,我将不胜感激。

编辑:

为了引用,我应该添加参数变量是 M。我们应该编写的函数是 trans(M):

最佳答案

一行:

def trans(M):
    return [[M[j][i] for j in range(len(M))] for i in range(len(M[0]))]

结果:

>>> M = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> trans(M)
[[1, 4, 7], [2, 5, 8], [3, 6, 9]
# or for a non-square matrix:
>>> N = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
>>> trans(N)
[[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]]

附加说明:如果您在 list comprehension 上查找教程,其中一个例子实际上是 transposition矩阵数组。

关于arrays - 如何在 Python 3 中转置数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23392986/

相关文章:

sql - 如何在 BigQuery 中取消透视?

javascript - 使用 Javascript 或 Jquery 将复选框值获取到数组或列表

python - 使用discord.py显示来自json的数据

python - python 子进程中的 watch 命令仅打印输出中的更改

sparql - 如何在SPARQL中转置查询结果

excel - 从两列 Excel 创建多列

php in_array - 意外行为

java - Arrays.asList 添加ArrayList而不是特定成员

C++ 指向数组的指针并访问?

python - 格式化二维网格中的路径打印