当前位置:  开发笔记 > 编程语言 > 正文

如何通过使第一行与另一个列表匹配来对列表列表进行排序?

如何解决《如何通过使第一行与另一个列表匹配来对列表列表进行排序?》经验,为你挑选了1个好方法。



1> TigerhawkT3..:

简单的方法是将其转置,使用zip()键列表中第一个元素索引的键对其进行排序,然后将其转置回:

>>> data = [['Y', 'K', 'E'],
...  [3, 1, 2],
...  [6, 4, 5]]
>>> key = 'KEY'
>>> sorted(zip(*data), key=lambda x: key.index(x[0]))
[('K', 1, 4), ('E', 2, 5), ('Y', 3, 6)]
>>> list(zip(*sorted(zip(*data), key=lambda x: key.index(x[0]))))
[('K', 'E', 'Y'), (1, 2, 3), (4, 5, 6)]

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有