解决方法1:使用自定义比较函数
# 定义自定义比较函数,按别名排序
def sort_by_alias(item):
return item['alias']
# 原始数据列表
data = [
{'name': 'John', 'alias': 'Doe'},
{'name': 'Alice', 'alias': 'Smith'},
{'name': 'Bob', 'alias': 'Doe'},
]
# 使用自定义比较函数进行排序
sorted_data = sorted(data, key=sort_by_alias)
# 打印排序结果
for item in sorted_data:
print(item)
解决方法2:使用lambda表达式
# 原始数据列表
data = [
{'name': 'John', 'alias': 'Doe'},
{'name': 'Alice', 'alias': 'Smith'},
{'name': 'Bob', 'alias': 'Doe'},
]
# 使用lambda表达式进行排序
sorted_data = sorted(data, key=lambda item: item['alias'])
# 打印排序结果
for item in sorted_data:
print(item)
这两种方法都使用了sorted()函数,其中key参数指定了排序的依据,可以是一个自定义的比较函数,也可以是一个lambda表达式。在这两个示例中,我们都是按照每个字典中的alias字段进行排序。