如何将多个列表转换为子列表列表,其中每个子列表由所有列表中的相同索引项组成?

时间:2014-01-29 06:58:06

标签: python list merge sublist

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

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,所以我该怎么做呢?

2 个答案:

答案 0 :(得分:1)

在胁迫下使用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')]

答案 1 :(得分:1)

列表清单将如下:

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