python中dict和list排序
1、list排序
列表的排序是python内置功能,自身含有sort方法
如:
>>> s=[2,1,3,0]
>>> s.sort()
[0, 1, 2, 3]
2、dict排序
对字典的排序,因为每一个项包括一个键值对,所以要选择可比较的键或值进行排序
sorted(iterable[, cmp[, key[, reverse]]]
cmp和key一般使用lambda
如:
>>> d={"ok":1,"no":2}
对字典按键排序,用元组列表的形式返回
>>> sorted(d.items, key=lambda d:d[0])
[('no', 2), ('ok', 1)]
对字典按值排序,用元组列表的形式返回
>>> sorted(d.items, key=lambda d:d[1])
[('ok', 1), ('no', 2)]
3、元组列表排序
如
>>> li=[(2,'a'),(4,'b'),(1,'d')]
>>> li.sort()
[(1, 'd'), (2, 'a'), (4, 'b')]
如果字典按项的第一个元素排序的话,可以转换成元组列表来进行
>>> d={"ok":1,"no":2}
>>> tt=[tuple(item) for item in d.items()]
>>> tt.sort()
[('no', 2), ('ok', 1)]
4 其他人的实现,留住备忘
下面是一个结构的例子
>>> class test:
def __init__(self,a,b):
self.a = a
self.b = b
>>> test1 = test(5,25)
>>> test2 = test(10,15)
>>> tests = [test1,test2]
>>> sorted(tests,cmp = lambda x,y: cmp(x.a, y.a))
>>> result = sorted(tests,key = lambda d:d.a)
5、
# (IMHO) the simplest approach:
def sortedDictValues1(adict):
items = adict.items()
items.sort()
return [value for key, value in items]
# an alternative implementation, which
# happens to run a bit faster for large
# dictionaries on my machine:
def sortedDictValues2(adict):
keys = adict.keys() keys.sort() return [dict[key] for key in keys]
# a further slight speed-up on my box
# is to map a bound-method:
def sortedDictValues3(adict):
keys = adict.keys()
keys.sort()
return map(adict.get, keys)
python中dict和list排序相关推荐
- python中dict函数_dict()函数以及Python中的示例
python中dict函数 Python dict()函数 (Python dict() function) dict() function is a library function, it is ...
- Python中dict详解
python3.0以上,print函数应为print(),不存在dict.iteritems()这个函数. 在python中写中文注释会报错,这时只要在头部加上# coding=gbk即可 #字典的添 ...
- python使用方法-python中dict使用方法详解
dict的特性 dict是python中的一个可变的数据类型,用{}表示,dict的key必须是不可变的数据类型,而value的数据类型可以任意. 格式:{key:value,key:value,ke ...
- 第8.23节 Python中使用sort/sorted排序与“富比较”方法的关系分析
一. 引言 <第8.21节 Python中__lt__.gt__等 "富比较"("rich comparison")方法用途探究>和<第8.2 ...
- python中dict转换成list_python里dict变成list实例方法
python里dict(字典)怎么变成list(列表)? 说明:列表不可以转换为字典 1.转换后的列表为无序列表 a = {'a' : 1, 'b': 2, 'c' : 3} #字典中的key转换为列 ...
- python 多条件 选择 算法_浅析Python中的多条件排序实现
多条件排序及itemgetter的应用曾经客户端的同事用as写一大堆代码来排序,在得知Python排序往往只需要一行,惊讶无比,遂对python产生浓厚的兴趣. 之前在做足球的积分榜的时候需要用到多条 ...
- python中字典不自动排序/删除指定类型文件/执行可执行文件的返回值
1.python 字典的用法 from collections import OrderedDict dict =OrderedDict() dict['foo']=3 dcit['aol']=1 2 ...
- python 怎么让列表里的数从大到小排列,python中如何给列表排序
这篇文章主要介绍了Python中对列表排序实例,需要的朋友可以参考下 很多时候,我们需要对List进行排序,Python提供了两个方法,对给定的List L进行排序: 方法1.用List的成员函数so ...
- python中dict和lambda结合的小例子
python的dict用起来很方便,可以自定义key值,并通过下标访问,示例如下: >>> d = {'key1':'value1', ... 'key2':'value2', .. ...
最新文章
- C++ 笔记(01)— 环境设置(安装g++、g++ 编译 C++、 生成可执行文件流程、解释器与编译器区别)
- ubuntu 卡在 输入密码的界面 无法进入的解决办法
- php数组格式化显示,php 打印数组格式化显示
- 我的教师生涯2:大学毕业前当上了孩子王
- Spring Boot @Conditional 注解
- k-means聚类算法C++实现
- java逐行读取文件内容执行sql语句_[11/100] 文件和异常
- oracle 导入单表,oracle 10g 中单个数据表的导入、导出
- comsol固体传热_参与介质中辐射传热的 4 种计算方法
- activity 的返回按钮
- 计算机c语言程序设计题,《计算机C语言程序设计》模拟题集.doc
- 全国计算机软考中级试题,计算机软考中级(网络工程师)历年真题汇总
- 韦东山第3期嵌入式Linux项目-视频监控-2-从零写USB摄像头驱动(UVC驱动)
- 在Excel中批量生成送货单,按数据类别批量生成产品标签
- android获取wifi支持的信道,Android获取当前联接wifi的信道
- 【Windows】安装显卡驱动+cuda+cudnn
- C#实现发送短信功能
- Tac-Simur: Tactic-based Simulative Visual Analytics of Table Tennis
- 【腾讯云】音视频存储管理CVS
- 2022-03-03 北京 计算机知识。字符编码,ppt
热门文章
- vc应用CPictureEx类(重载CStatic类)加载gif动画
- mysql无法建立连接_【MySql】mysql无法建立连接或建立连接失败原因分析
- 平方的观测值表概率_茆诗松的概率论与数理统计(第六章)
- html在分页功能中如何实现当前页面的页码样式与其他页面不同_如何使用word文档?word文档使用技巧教程?...
- Hystrix 熔断器01—— 概述 || Hystrix 重要概念
- windows 技巧篇-清除共享地址访问缓存信息,共享路径临时访问用户切换方法
- 设置超链接在新的窗口中打开,而不是在本窗口中打开
- [YTU]_2922(Shape系列-8)
- Python进阶05 循环设计
- matlab中reshape和repmat函数的用法