Python自定义排序

igetnqfo  于 2022-12-17  发布在  Python
关注(0)|答案(1)|浏览(177)

我有一个对象列表,如下所示:

my_list = [obj1,obj2,obj3, ...]

每个对象都有一些数据,如:

obj = {
    'id':1,
    'name':'Some name',
    'value': 'Some value',
    'category':'A'
}

类别选项包括:CATEGORY = {'A','B','C','D'}
是否有可能以某种方式对列表进行排序,以便按如下顺序显示数据:

my_sordet_list =  ['all in C categ', 'all in B categ', 'all in D categ','all in A categ']

所以问题是:我如何向程序解释我希望它按照严格的自定义顺序排序?

x6h2sr28

x6h2sr281#

您可以为自定义排序创建查找字典:

>>> category_order = {'C': 0, 'B': 1, 'D': 2, 'A': 3}
>>> my_sorted_list = sorted(mylist, key=lambda o: category_order[o['category']])

my_sorted_list将根据您的需要进行排序。

相关问题