【问题标题】:Python: List merging method [duplicate]Python:列表合并方法[重复]
【发布时间】:2018-04-26 04:52:41
【问题描述】:

我有一个问题:

我有 2 个列表:

list_1 = [1, 2, 3]
list_2 = [4, 5, 6]

我想合并它们以获得以下结果:

mergedlist = [1, 4, 2, 5, 3, 6]

我该怎么做?

【问题讨论】:

    标签: python-3.x list merge


    【解决方案1】:

    像这样:

    mergedlist = list_1 + list_2
    

    如果您想要mergedlist 中的特定订单:

    mergedlist = []
    for i, entry in enumerate(list_1):
        mergedlist.extend([entry, list_2[i]])
    

    【讨论】:

    • 这是一种很好的迭代方式,如果您想查看其他解决方案,请查看我的答案。加一个顺便说一句
    【解决方案2】:

    您可以使用迭代工具中的链:

    list_1 = [1, 2, 3]
    list_2 = [4, 5, 6]
    
    from itertools import chain
    
    res = list(chain.from_iterable((list_1[x], list_2[x]) for x in range(len(list_1))))
    

    => [1, 4, 2, 5, 3, 6]

    【讨论】:

    • zip(list_1, list_2) 也可以
    • @Wondercricket haha​​ suuuuuure,为什么我没想到???如此简单...您应该将其发布为答案
    • 因为 Kshitij Saraogi 打败了我 :)
    【解决方案3】:

    在我看来,最 Pythonic 的方式是:

    merged_list = [item for pair in zip(list_1, list_2) for item in pair]

    或者,您也可以使用collections.chain

    merged_list = list(chain.from_iterable(zip(list_1, list_2)))

    【讨论】:

      猜你喜欢
      • 2017-09-05
      • 2012-04-13
      • 2012-12-26
      • 1970-01-01
      • 1970-01-01
      • 2021-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多