要按照另一个字典对列表中的字典进行排序,可以使用Python的内置函数sorted()和lambda函数来实现。以下是一个示例代码:
# 原始列表
my_list = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}, {'name': 'Charlie', 'age': 20}]
# 参考字典
ref_dict = {'Alice': 3, 'Bob': 1, 'Charlie': 2}
# 按照参考字典的值对原始列表进行排序
sorted_list = sorted(my_list, key=lambda x: ref_dict[x['name']])
# 输出排序后的列表
print(sorted_list)
输出结果为:
[{'name': 'Bob', 'age': 30}, {'name': 'Charlie', 'age': 20}, {'name': 'Alice', 'age': 25}]
在这个示例中,我们首先定义了一个原始列表my_list
,其中包含了三个字典。然后,我们定义了一个参考字典ref_dict
,其中包含了每个字典中'name'键对应的值的排序顺序。接下来,我们使用sorted()函数对原始列表进行排序,使用lambda函数作为key参数来指定排序的依据,即参考字典中'name'键的值。最后,我们打印出排序后的列表sorted_list
。
根据参考字典的值,排序后的列表中的字典按照指定的顺序进行了排序。在这个示例中,'Bob'的值为1,'Charlie'的值为2,'Alice'的值为3,所以最终排序结果中'Bob'排在了第一位,'Charlie'排在了第二位,'Alice'排在了最后一位。