`

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 sorted对list和dict排序

    主要介绍了Python sorted对list和dict排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    对Python3中dict.keys()转换成list类型的方法详解

    在python3中使用dict.keys()返回的不在是list类型了,也不支持索引,我们可以看一下下面这张图片 那么我们应该怎么办呢,其实... 您可能感兴趣的文章:Python 按字典dict的键排序,并取出相应的键值放于list中的实例py

    Python 按字典dict的键排序,并取出相应的键值放于list中的实例

    今天小编就为大家分享一篇Python 按字典dict的键排序,并取出相应的键值放于list中的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    Python-Python排序容器类型SortedListSortedDict和SortedSet

    Sorted Containers-Python可排序的容器类型:SortedList, SortedDict, and SortedSet使用纯python编写,但是速度跟用C实现一样快

    python的dict,set,list,tuple应用详解

    本文深入剖析了python中dict,set,list,tuple应用及对应示例,有助于读者对其概念及原理的掌握。具体如下: 1.字典(dict) dict 用 {} 包围 dict.keys(),dict.values(),dict.items() hash(obj)返回obj的哈希值,如果...

    Python按照list dict key进行排序过程解析

    主要介绍了Python按照list dict key进行排序过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    python-sortedcontainers:Python排序的容器类型:排序的列表,排序的Dict和排序的集合

    python-sortedcontainers:Python排序的容器类型:排序的列表,排序的Dict和排序的集合

    Python中字典(dict)和列表(list)的排序方法实例

    一、对列表(list)进行排序 推荐的排序方式是使用内建的sort()方法,速度最快而且属于稳定排序复制代码 代码如下:>>> a = [1,9,3,7,2,0,5]>>> a.sort()>>> print a[0, 1, 2, 3, 5, 7, 9]>>> a.sort(reverse=True)>>...

    Python中给List添加元素的4种方法分享

    List 是 Python 中常用的数据类型,它一个有序集合,即其中的元素始终保持着初始时的定义的顺序(除非你对它们进行排序或其他修改操作)。 在Python中,向List添加元素,方法有如下4种方法(append(),extend(),...

    python(list,tuple,set,dict)

    文章目录前言listlist(用法)list(索引,切片,重复,连接,成员操作符,迭代)list(练习:用法)list(增,删,改,查)list(排序)list(练习:用户登陆系统)list(练习:栈)tupletuple(用法)touple(索引,重复,连接,...

    python中dict()的高级用法实现

    一个字典就是一个键对应一个单值得映射,而上面的列表中有相同的键,如果你想要一个键映射多个值,那么就需要将这多个值放到另外的序列中,比如list或者set里面,像下面这样: 你可以很方便的使用 collections 模块...

    Python实现字典排序、按照list中字典的某个key排序的方法示例

    本文实例讲述了Python实现字典排序、按照list中字典的某个key排序的方法。分享给大家供大家参考,具体如下: 1.给字典按照value按照从大到小排序 排序 dict = {'a':21, 'b':5, 'c':3, 'd':54, 'e':74, 'f':0} new_...

    Python函数参数类型及排序原理总结

    其实总共可以分为 位置参数和关键字参数,因为位置参数被放在list里面,关键字参数放在dict里面,Python在解读的时候首先处理list,没有遇到关键字就append到list里面,遇到关键字了,就开始做dict直到结束,所以,...

    Python实现字典的遍历与排序功能示例

    本文实例讲述了Python实现字典的遍历与排序功能。分享给大家供大家参考,具体如下: 字典的遍历: 首先: items(): 功能:以列表的形式返回字典键值对 eg: dict_={"a":2,"b":3,"c":6} dict_.items() >>>[('a',2),...

    深入理解python中sort()与sorted()的区别

    Python list内置sort()方法用来排序,也...使用sort()方法对list排序会修改list本身,不会返回新list. sort()不能对dict字典进行排序 2.使用sorted()排序 my_list = [3, 5, 1, 4, 2] result = sorted(my_list) print (r

    Python中利用sorted()函数排序的简单教程

    排序算法 排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。...Python内置的sorted()函数就可以对list进行排序: >>> sorted([36, 5, 12, 9, 21]) [5, 9, 12, 21, 36]

    Python字典排序与取值

    一个非本专业的坑货,让我帮做的一道Python题,还很无chi 的那啥希望我帮写注释,简直不能忍 (〃´皿`)q… 最后,我为了维护世界的和平,就当复习一下Python知识了。 题目 题目都懒得打,直接截他发给我的图片 源...

    基于python的TXT解析器 parser 包含各个版本的代码 见注释

    第二次排序:在上次的排序中我保留了分类和从小到大的排序。方便提取索引时,索引也是从小到大。每遍历一个元素(CA组合有效信息),就compile()和findall(),从该元素中提取数字组合(在compile()的参数中添加()就...

Global site tag (gtag.js) - Google Analytics