2016-11-17 69 views
0

比方说,我们有这样的:列表列表;我如何将每个值链接到新列表?

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']] 

注:列表1的长度可长可短,不应该的问题。

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

我试过使用不同的循环使用不同的方式来使用索引,但我不能得到任何工作,有人可以帮我吗?我没有在答案中寻找代码,只是我会怎么做。

+0

使用'zip'。 'zip(* list1)' –

+0

试试'zip(* list1)' –

+0

我们需要看看你试过了什么。请张贴您的企图 –

回答

2

如果你都还好用的元组,只需使用:

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']]