【问题标题】:List of lists; how do I concatenate each value to a new list? [duplicate]清单清单;如何将每个值连接到一个新列表? [复制]
【发布时间】:2017-04-01 12:04:13
【问题描述】:

假设我们有这个:

list1 = [['a', 'b', 'c'], ['1', '2', '3'], ['x', 'y', 'z'], ['4', '5', '6']]

我正在寻找的输出是:

[['a', '1', 'x', '4'], ['b', '2', 'y', '5'], ['c', '3', 'z', '6']]

注意:list1 的长度可能更长或更短,这无关紧要。

注意:len(list1[0]) = len(list1[1]) = len(list1[any_index]) 这意味着主列表中的所有子列表将具有相同的长度。

我尝试过使用不同的 for 循环,使用不同的方式来使用索引,但我无法正常工作,有人可以帮帮我吗?我不是在寻找答案中的代码,而是我会怎么做。

【问题讨论】:

标签: python list indexing splice


【解决方案1】:

如果你对元组没问题,只需使用:

a = zip(*list1)
# [('a', '1', 'x', '4'), ('b', '2', 'y', '5'), ('c', '3', 'z', '6')]

否则,就这样做

a = [list(x) for x in zip(*list1)]
# [['a', '1', 'x', '4'], ['b', '2', 'y', '5'], ['c', '3', 'z', '6']]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    • 2020-04-02
    相关资源
    最近更新 更多