参见英文答案 > Transpose list of lists 10个
假设我有一个单一列表[[1,2,3],[4,5,6]]
假设我有一个单一列表[[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? - 乐贴网