python嵌套字典列表排序的四种种方法

示例列表

list_obj = [{
    '姓名': '张三',
    '班级': '一班',
    '成绩': 80
},{
    '姓名': '李四',
    '班级': '一班',
    '成绩': 90
},{
    '姓名': '王五',
    '班级': '二班',
    '成绩': 85
}]

按照成绩降序排序

reverse=True 表示降序排序 , 默认为升序排序

方法一:使用lambda表达式

list_obj.sort(key = lambda x: x['成绩'], reverse=True)
print(list_obj)

方法二:使用operator模块的itemgetter函数

from operator import itemgetter
list_obj.sort(key = itemgetter('成绩'), reverse=True)
print(list_obj)

方法三:使用内置的sorted函数

from operator import itemgetter
sorted_list_obj = sorted(list_obj, key = itemgetter('成绩'), reverse=True)
print(sorted_list_obj)

方法四:使用冒泡排序: < 表示升序排序 , > 表示降序排序

for i in range(len(list_obj)-1):
    for j in range(len(list_obj)-1-i):
        if list_obj[j]['成绩'] < list_obj[j+1]['成绩']:
            list_obj[j], list_obj[j+1] = list_obj[j+1], list_obj[j]
            
print(list_obj)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容