我经常使用Python。当我在python中转置2D数组时。我将这样编码:
matrix = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
# method 1
transposed = [[row[i] for row in matrix] for i in range(4)]
# method 2, usually code in this way
transposed = list(map(list, zip(*matrix)))
输出为:
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
但是,很快zip()只能使用2个参数。
我可以编写一个函数来进行转置。
但我想知道是否也有一种方法可以迅速地优雅地完成此操作。