gpt4 book ai didi

python - 使用自定义排序功能按键对字典列表进行排序

转载 作者:行者123 更新时间:2023-11-28 20:14:27 26 4
gpt4 key购买 nike

我有一个字典列表,我希望在 python 中按键“id”排序。

items = [{'id' : 883},{'id' : 547},{'id' : 898},{'id' : 30},{'id' : 883}]

我希望根据给定的排序顺序按特定顺序对它们进行排序:

[30, 883, 547, 898]

我将如何在 python3 中执行此操作?

最佳答案

使用 key 参数和具有自定义排序顺序的列表。

sort_order = [30, 883, 547, 898]
items.sort(key=lambda d: sort_order.index(d['id']))

使用@Sphinx 的建议,您可以预先为列表建立索引以提高速度 O(1) 而不是 O(n)

sort_order_index = {val: i for i, val in enumerate(sort_order)}
items.sort(key=lambda d: sort_order_index.get(d['id'], 0))

关于python - 使用自定义排序功能按键对字典列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49328936/

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