Python 3:如何对嵌套列表的子列表重新排序?

问题描述

我有以下嵌套列表,以及列表中的子列表数:

l1 = [[['a','c','d'],['e','f','g'],[['a','b'],'d','1']],[['2','3','4'],['3','4',[['1','2'],'4']],[['q1','3e','2e'],['r4','tt','t5'],[['t4','g4'],'r4','45g']]]
nb_sub = 3

我想按“索引”对子列表进行重新排序,所以每个子列表的第一个子列表,然后每个子列表的第二个子列表,依此类推。我想要的输出是:

output = [[['a',['2',['q1','2e']],[['e','t5']],[[['a','1'],'45g']]]

解决方法

zip似乎是完成这项工作的理想工具:

output = [x for x in zip(*l1)]