以下是一个示例代码,演示如何按照键的值对字典列表进行排序:
def sort_dict_list(dict_list, key, default_value):
"""
按照键的值对字典列表进行排序(如果键不存在,则按照默认值排序)
"""
sorted_list = sorted(dict_list, key=lambda x: x.get(key, default_value))
return sorted_list
# 示例字典列表
dict_list = [
{'name': 'Alice', 'age': 25},
{'name': 'Bob', 'age': 30},
{'name': 'Charlie', 'age': 20},
{'name': 'Dave'}
]
# 按照键 'age' 的值进行排序
sorted_dict_list = sort_dict_list(dict_list, 'age', 0)
print(sorted_dict_list)
# 按照键 'name' 的值进行排序(默认值为 'Unknown')
sorted_dict_list = sort_dict_list(dict_list, 'name', 'Unknown')
print(sorted_dict_list)
输出结果:
[{'name': 'Charlie', 'age': 20}, {'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}, {'name': 'Dave'}]
[{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}, {'name': 'Charlie', 'age': 20}, {'name': 'Dave'}]
这个示例中,我们定义了一个名为 sort_dict_list
的函数,接受三个参数:dict_list
是要排序的字典列表,key
是要按照哪个键的值进行排序,default_value
是键不存在时的默认值。
函数内部使用 sorted
函数进行排序,通过 key
参数指定排序的关键字。我们使用了一个 lambda 函数作为 key
参数的值,使用 x.get(key, default_value)
来获取字典中键的值,如果键不存在,则返回 default_value
。
最后,我们通过调用 sort_dict_list
函数来对示例字典列表进行排序,并打印排序后的结果。第一个示例按照键 'age' 的值进行排序,第二个示例按照键 'name' 的值进行排序(默认值为 'Unknown')。
下一篇:按照键的值显示字典中最大的项?