假设我们有一个字典列表,如下所示:
dict_list = [{'name': 'Peter', 'age': 24},
{'name': 'Anna', 'age': 28},
{'name': 'John', 'age': 21},
{'name': 'Helen', 'age': 25},
{'name': 'David', 'age': 32}]
然后,我们有一个给定的顺序列表,如下所示:
order = ['Helen', 'Anna', 'David', 'Peter', 'John']
现在,我们想按order列表中给出的顺序对dict_list进行排序。要完成这个任务,我们可以使用Python内置的sorted函数和lambda函数,代码如下:
sorted_dict_list = sorted(dict_list, key=lambda x: order.index(x['name']))
这里的lambda函数以字典列表中的每个字典作为输入,然后使用index方法查找该字典的'name'键在order列表中的索引位置,这就是我们用于排序的关键。最终,我们可以得到按照order列表中给出的顺序排序的字典列表:
[{'name': 'Helen', 'age': 25},
{'name': 'Anna', 'age': 28},
{'name': 'David', 'age': 32},
{'name': 'Peter', 'age': 24},
{'name': 'John', 'age': 21}]