我有一张单子。例如
[
[1, 2, 0.10],
[1, 3, 0.22],
[1, 4, 0.20],
[1, 5, 0.37],
[1, 8, 0.60],
[1, 10, 0.01],
[1, 15, 0.26],
[2, 3, 0.28],
[2, 6, 0.12],
[2, 7, 0.72],
[2, 10, 0.77],
[2, 11, 0.36],
...
]
我想先按子列表的第一项排序,然后按第三项排序,得到每个子列表的前三个结果, 怎么做?谢谢!你知道吗
结果示例
[
[1, 15, 0.26],
[1, 5, 0.37],
[1, 8, 0.60],
[2, 11, 0.36],
[2, 7, 0.72],
[2, 10, 0.77],
...
]
这里有一个使用
itertools.groupby
的解决方案。我们使用tuple
键按第一项排序,然后按相反的顺序按最后一项排序。你知道吗似乎要先按降序排序,然后按升序排序。如果这是一个要求,您可以反转结果,即
感谢@伊夫·库尼斯谢谢你的建议。你知道吗
相关问题 更多 >
编程相关推荐