gpt4 book ai didi

python - 按指定未排序顺序的第三个列表对列表列表进行排序

转载 作者:太空狗 更新时间:2023-10-30 02:49:03 25 4
gpt4 key购买 nike

我有一个列表:

[['18411971', 'kinase_2', 36], ['75910712', 'unnamed...', 160], ...
  • 大约 60 个条目
  • 每个条目都是一个包含三个值的列表

我想按照另一个列表指定的顺序按第一个值对这个更大的列表进行排序,该列表具有所需的顺序。

最佳答案

通常的习惯用法是使用键排序:

>>> a = [[1,2],[2,10,10],[3,4,'fred']]
>>> b = [2,1,3]
>>> sorted(a,key=lambda x: b.index(x[0]))
[[2, 10, 10], [1, 2], [3, 4, 'fred']]

不过这可能会产生性能问题——如果键是可散列的,对于长列表这可能会更快:

>>> order_dict = dict(zip(b, range(len(b))))
>>> sorted(a,key=lambda x: order_dict[x[0]])
[[2, 10, 10], [1, 2], [3, 4, 'fred']]

关于python - 按指定未排序顺序的第三个列表对列表列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9994317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com