python中列表和字典排序
来源:互联网 发布:穿越火线交易软件 编辑:程序博客网 时间:2024/05/16 17:14
Python 列表内置 list.sort() 方法实现原地排序,同时 Python 还提供 sorted() 函数返回对可迭代对象排序后的新列表。
首先导入可能需要的模块:
# coding:utf-8import operatorimport collections数据和排序,列表中存储的是字典:
data_list = []data_list.append({'id':'1','name':'zhangsan','age':'22'})data_list.append({'id':'2','name':'wangwu','age':'23'})data_list.append({'id':'7','name':'张三','age':'22'})data_list.append({'id':'4','name':'李四','age':'21'})data_list.append({'id':'3','name':'肖战','age':'23'})data_list.append({'id':'5','name':'无视','age':'21'})data_list.append({'id':'6','name':'排查','age':'23'})'''先按照id排序,再按照age排序'''data_list.sort(key=lambda obj:(obj.get('id'),obj.get('age')), reverse=False)for s in data_list: print(s)列表中存储的是元组:
L = [('b', 6), ('a', 1), ('c', 3), ('d', 4)]L.sort(key=lambda x:x[1])print(L)多关键字排序:
L.sort(key=lambda x: (x[1], x[0]))print(L)使用sorted()排序:
aa=sorted(L,key=lambda x: (x[1], x[0]))print(aa)使用operator排序:
L.sort(key=operator.itemgetter(1, 0))print(L)列表中存储的是对象的时候的排序:
class Student(object): def __init__(self,id,name,age): self.id=id self.name=name self.age=agelist=[]s1=Student(1,'zhangsan',23)s2=Student(2,'wangwu',32)s3=Student(3,'lisi',21)s4=Student(3,'lisi',20)list.append(s1)list.append(s2)list.append(s3)list.append(s4)list.sort(key=operator.attrgetter('id','age'))for ssss in list: print('id: '+str(ssss.id)+' name: '+ssss.name+" age: "+str(ssss.age))
字典排序,按照值排序注意值得类型。
dict2={'id':'1','name':'zhangsan','age':'23'}'''按键排序:sorted(dict2.items(), key=lambda e:e[0], reverse=True) 按键排序:sorted(dict2.items(), key=lambda e:e[1], reverse=True)'''sorted(dict2.items(), key=lambda e:e[1], reverse=True)print(dict2)
阅读全文
0 0
- python中列表和字典排序
- python 中 列表(list)和字典(dict)数据排序
- python中列表(list)和字典(dict)数据排序
- Python中 字典排序、列表排序
- Python中 字典排序、列表排序
- Python中 字典排序、列表排序
- Python中 字典排序、列表排序
- python字典和列表各种嵌套排序
- Python字典、列表排序
- python中字典和列表的区别
- Python排序,针对列表,字典
- 列表(list)和字典(dict)数据排序 Python
- Python - 列表、字典和元组的排序
- Python sorted对字典和列表进行排序
- python中字典的排序和复制
- PYTHON 对列表|字典|列表中多个字典排序
- python 中字典嵌套列表
- python:列表和字典型
- 会飞的小鸟
- 2017年11月30日 15:20:35 小记
- 利用栈 做一个简单的计算器系统
- LeetCode--Construct Binary Tree from Inorder and Postorder Traversal
- 机器学习之集体智慧编程(1):推荐物品
- python中列表和字典排序
- eclipse快捷汇总
- 解决psycopg2的安装问题
- iOS11 前端适配遇到的坑
- leetcode 686. Repeated String Match
- 问题记录
- 单点登录(一)-----理论-----单点登录SSO的介绍和CAS+选型
- 获取时间的毫秒数
- File's Owner和NSBundle