python中列表排序,字典排序,列表中的字典排序

一  列表的排序

方法1: 没有返回值 

list1 = [2, 1, 4, 5, 3]
print("最开始数据:{}".format(list1))
# 升序
list1.sort()
print("升序后数据:{}".format(list1))
list1 = [2, 1, 4, 5, 3]
print("最开始数据:{}".format(list1))
# 降序
list1.sort(reverse=True)
print("升序后数据:{}".format(list1))

2.方法2:有返回值

list1 = [2, 1, 4, 5, 3]
print("最开始数据:{}".format(list1))
# 升序
list2 = sorted(list1)
print("升序后数据:{}".format(list2))
list1 = [2, 1, 4, 5, 3]
print("最开始数据:{}".format(list1))
# 降序
list2 = sorted(list1, reverse=True)
print("升序后数据:{}".format(list2))

 

二 字典的排序

方式1:

里面三个参数

dict1.items() #可迭代元素。

key= lambda dict1:dict1[0]  #dict1[0]表示按键,dict1[1]表示按值。

reverse #默认是False,升序排列。当值为True时是降序排列。

按照键进行排序

dict1 = {"name": "Kevin", "age": "27", "gender": "true"}
# 升序
dict2 = sorted(dict1.items(), key=lambda dict1: dict1[0], reverse=False)
print("开始的字典数据:{}".format(dict1))
print("按照键进行升序后的数据:{}".format(dict2))

dict1 = {"name": "Kevin", "age": "27", "gender": "true"}
# 降序
dict2 = sorted(dict1.items(), key=lambda dict1: dict1[0], reverse=True)
print("开始的字典数据:{}".format(dict1))
print("按照键进行降序后的数据:{}".format(dict2))

 

  

按照值进行排序

dict1 = {"name": "Kevin", "age": "27", "gender": "true"}
# 升序
dict2 = sorted(dict1.items(), key=lambda dict1: dict1[1], reverse=False)
print("开始的字典数据:{}".format(dict1))
print("按照值进行升序后的数据:{}".format(dict2))

dict1 = {"name": "Kevin", "age": "27", "gender": "true"}
# 降序
dict2 = sorted(dict1.items(), key=lambda dict1: dict1[1], reverse=True)
print("开始的字典数据:{}".format(dict1))
print("按照值进行降序后的数据:{}".format(dict2))

 

  

 

三 包含字典dict的列表list的排序方法

方法1:使用 operator进行排序

import operator

list1 = [{'name': 'Kevin', 'age': 27}, {'name': 'Ling', 'age': 23}]
# 升序
list2 = sorted(list1, key=operator.itemgetter('age'))
print("开始列表:{}".format(list1))
print("升序后列表:{}".format(list2))

# 降序
list2 = sorted(list1, key=operator.itemgetter('age'), reverse=True)
print("开始列表:{}".format(list1))
print("降序后列表:{}".format(list2))

  

方法1:使用 lambda 进行排序

  

list1 = [{'name': 'Kevin', 'age': 27}, {'name': 'Ling', 'age': 23}]
# 升序
list2 = sorted(list1, key=lambda list1: list1["age"])
print("开始列表:{}".format(list1))
print("升序后列表:{}".format(list2))

# 降序
list2 = sorted(list1, key=lambda list1: list1["age"], reverse=True)
print("开始列表:{}".format(list1))
print("降序后列表:{}".format(list2))

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值