根据嵌套列表排序列表

时间:2015-11-19 18:29:42

标签: nested-lists

joinedlist = [['B', 'C', 'A'], ['D', 'C', 'F'], ['E', 'E', 'D'], ['C', 'C', 'E'], ['A', 'D', 'D']]

我想对第一个嵌套循环进行排序

['A', 'B', 'C']

因此,剩下的嵌套循环的顺序按照第一个列表(3,1,2)的顺序排序,所以我得到了这个输出:

1 个答案:

答案 0 :(得分:1)

这将完成这项工作:

zip(*sorted(zip(*joinedlist)))

zip(*joinedlist)列出了内部列表中匹配元素的元组:

[('B', 'D', 'E', 'C', 'A'), ('C', 'C', 'E', 'C', 'D'), ('A', 'F', 'D', 'E', 'D')]

然后按列表的前导元素排序,这些元素是第一个原始子列表中的元素,因此每个对应的元素都作为一个组移动。

最后,我们采用该结果并重新压缩它,以便像以前一样分解,但现在已正确排序。