前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >python中列表排序,字典排序,列表中的字典排序

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

作者头像
用户8346838
发布2021-03-10 20:33:22
发布2021-03-10 20:33:22
9.1K00
代码可运行
举报
文章被收录于专栏:KevinKevin
运行总次数:0
代码可运行

一 列表的排序

方法1: 没有返回值

代码语言:javascript
代码运行次数:0
运行
复制
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:有返回值

代码语言:javascript
代码运行次数:0
运行
复制
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时是降序排列。

按照键进行排序

代码语言:javascript
代码运行次数:0
运行
复制
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))

按照值进行排序

代码语言:javascript
代码运行次数:0
运行
复制
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进行排序

代码语言:javascript
代码运行次数:0
运行
复制
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 进行排序

代码语言:javascript
代码运行次数:0
运行
复制
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))
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/05/13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一 列表的排序
    • 方法1: 没有返回值
    • 2.方法2:有返回值
  • 二 字典的排序
    • 方式1:
  • 三 包含字典dict的列表list的排序方法
    • 方法1:使用 operator进行排序
    • 方法1:使用 lambda 进行排序
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档