【问题标题】:Merge lists inside the list in python [duplicate]在python列表中合并列表[重复]
【发布时间】:2017-09-05 03:40:57
【问题描述】:

使用 Python 我想转换:

outputlist = []

list = [[1,2,3],[a,b,c],[p,q,r]]
outputlist =[[1,a,p],[2,b,q],[3,c,r]]

我该怎么做?

outputlist.append([li [0] for li in list ])

它产生

[1,a,p]

不是其他项目。我需要它来处理所有项目。

【问题讨论】:

  • 您是否受限于使用单行指令?

标签: python list


【解决方案1】:

你想使用zip:

代码:

lst = [[1,2,3],['a','b','c'],['p','q','r']]

print(zip(*lst))

结果:

[(1, 'a', 'p'), (2, 'b', 'q'), (3, 'c', 'r')]

【讨论】:

  • 谢谢斯蒂芬。它有效
【解决方案2】:

你可以试试numpy:

>>> import numpy as np
>>> l = [ [1,2,3],['a','b','c'],['p','q','r']]
>>> np.array(l).T.tolist()
[['1', 'a', 'p'], ['2', 'b', 'q'], ['3', 'c', 'r']]

【讨论】:

  • 谢谢 shizhz。它有效
  • 很高兴为您提供帮助 :-)
【解决方案3】:
list = [[1,2,3],[a,b,c],[p,q,r]]
outputlist = zip(*list)

zip() 将元素作为元组返回,如果这正是您需要的,则将它们转换为列表。

【讨论】:

    猜你喜欢
    • 2012-04-13
    • 2012-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-26
    • 1970-01-01
    • 1970-01-01
    • 2021-02-13
    相关资源
    最近更新 更多