【问题标题】:How to turn multiple lists into a list of sublists where each sublist is made up of the same index items across all lists?如何将多个列表转换为子列表列表,其中每个子列表由所有列表中的相同索引项组成?
【发布时间】:2014-01-29 06:58:06
【问题描述】:

如何将多个列表变成一个子列表列表,其中每个子列表由原始列表中相同索引处的项目组成?

lsta = ['a','b','c','d']
lstb = ['a','b','c','d']
lstc = ['a','b','c','d']

Desired_List = [['a','a','a'],['b','b','b'],['c','c','c'],['d','d','d']]

我似乎无法在这里使用 zip,那我该怎么做呢?

【问题讨论】:

    标签: python list merge sublist


    【解决方案1】:

    列表列表如下:

    >>> [list(x) for x in zip(lsta, lstb, lstc)]
    [['a', 'a', 'a'], ['b', 'b', 'b'], ['c', 'c', 'c'], ['d', 'd', 'd']]
    >>>
    

    【讨论】:

      【解决方案2】:

      在胁迫下使用zip

      >>> zip(lsta, lstb, lstc)
      [('a', 'a', 'a'), ('b', 'b', 'b'), ('c', 'c', 'c'), ('d', 'd', 'd')]
      

      如果是 Python 3,则需要将 zip 转换为列表:

      >>> list(zip(lsta, lstb, lstc))
      [('a', 'a', 'a'), ('b', 'b', 'b'), ('c', 'c', 'c'), ('d', 'd', 'd')]
      

      【讨论】:

      • 不返回的 ('a','a','a','a')
      • 那是元组列表,不是所有者想要的?
      • 诚然不是 OP 要求的,但仍然可能是 OP 想要的 :)
      猜你喜欢
      • 2019-10-18
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 2020-12-15
      • 2017-08-19
      • 2021-08-21
      • 1970-01-01
      相关资源
      最近更新 更多