python – 如何转置List?

参见英文答案 > Transpose list of lists                                    10个
假设我有一个单一列表[[1,2,3],[4,5,6]]

我如何转置它们以便:[[1,4],[2,5],[3,6]]?

我是否必须使用zip功能?拉链功能是最简单的方法吗?

def m_transpose(m):
    trans = zip(m)
    return trans
最佳答案
使用 zip*splat是纯Python中最简单的方法.

>>> list_ = [[1,2,3],[4,5,6]]
>>> zip(*list_)
[(1, 4), (2, 5), (3, 6)]

请注意,您在内部而不是列表中获取元组.如果您需要列表,请使用map(list,zip(* l)).

如果你打开使用numpy而不是列表列表,那么使用.T属性会更容易:

>>> import numpy as np
>>> a = np.array([[1,2,3],[4,5,6]])
>>> print(*a)
[1 2 3] [4 5 6]
>>> print(*a.T)
[1 4] [2 5] [3 6]
点击查看更多相关文章

转载注明原文:python – 如何转置List? - 乐贴网