【问题标题】:List Python Operation列出 Python 操作
【发布时间】:2011-03-12 19:54:57
【问题描述】:

我得到了这份清单:

input = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]

我想为每个索引项创建新列表:

output = [[1,5,9],[2,6,10],[3,7,11],[4,8,12]]

【问题讨论】:

标签: python list


【解决方案1】:

这是何时使用zip 的典型示例:

In [6]: inlist = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]

In [7]: out=zip(*inlist)

In [8]: out
Out[8]: [(1, 5, 9), (2, 6, 10), (3, 7, 11), (4, 8, 12)]

或者,获取列表列表(而不是元组列表):

In [9]: out=[list(group) for group in zip(*inlist)]

In [10]: out
Out[10]: [[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

【讨论】:

    【解决方案2】:

    使用zip():

    input = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
    output = zip(*input)
    

    这将为您提供一个元组列表。要获取列表列表,请使用

    output = map(list, zip(*input))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-12
      • 2017-02-08
      相关资源
      最近更新 更多