python 列表,字典及对象排序相关整理
今天工作中遇到一个合并excel后需要根据每一列长度降序的方式将内容(列表嵌套)写入.其中涉及到将外层列表根据每一个嵌套列表的长度进行排序,因此回到家后整理一下python对列表以及对象排序的方法, python自带的 sort() 不在讨论范围内.
##1.列表嵌套中的排序
代码:
# –*– coding: utf-8 –*–
# @Time : 2019/2/20 21:27
# @Author : Damon_duanlei
# @FileName : test.py
# @BlogsAddr : https://blog.csdn.net/Damon_duanlei
# 测试数据 名称 性别 年龄 体重
sort_list = [["臭臭", "boy", 9, 10], ["小迪", "boy", 2, 12], ["笨笨", "girl", 4, 6], ["亮亮", "boy", 2, 8]]
# 使用 sorted() 函数对指定字段排序(体重)
new_list_1 = sorted(sort_list, key=lambda dog: dog[3]) # 匿名函数指定排序字段
# 降序
new_list_2 = sorted(sort_list, key=lambda dog: dog[3], reverse=True)
print("按体重升序:{}".format(new_list_1))
print("按体重降序:{}".format(new_list_2))
运行结果:
>>>
按体重升序:[['笨笨', 'girl', 4, 6], ['亮亮', 'boy', 2, 8