`
hqman
  • 浏览: 352633 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

python list 排序

阅读更多

对于简单的list排序,直接调用内建函数就可以了,但是对于dict的list排序就没有那么直接了,不过,还是有很简洁的办法的,如:

  1. >>> ls1 = [{'a' : 1'b' : 12}, {'a' : -1'b' : 22},{'a' : 12'b' : 32},{'a' : 6'b' : 42}]
  2. >>> ls1.sort(key=lambda obj:obj.get('a'))
  3. >>> ls1
  4. [{'a': -1'b'22}, {'a'1'b'12}, {'a'6'b'42}, {'a'12'b'32}]
  5. >>>

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)

分享到:
评论

相关推荐

    Python3实现对列表按元组指定列进行排序的方法分析

    Python中有2个排序函数,一个是list内置的sort()方法,另一个是全局的sorted()方法 sorted(iterable,key=None,reverse=False) #返回排好序的新列表,不改变对象本身,默认升序;reverse:-True降序 -False 正序对所有可...

    python list排序的两种方法及实例讲解

    本文主要介绍了python list排序的两种方法及实例讲解。具有很好的参考价值,下面跟着小编一起来看下吧

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

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

    基于python list对象中嵌套元组使用sort时的排序方法

    下面小编就为大家分享一篇基于python list对象中嵌套元组使用sort时的排序方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    python实现忽略大小写对字符串列表排序的方法

    本文实例讲述了python实现忽略大小写对字符串列表排序的方法,是非常实用的技巧。分享给大家供大家参考。具体分析如下: 先来看看如下代码: string = ''' the stirng Has many line In THE fIle jb51 net ''' list...

    Python排序算法

    包含多种Python的排序算法,可以帮助使用者更好的理解各种排序算法的Python实现!

    python实现的冒泡排序

    python实现的冒泡排序算法,文件中阐述了两种方式。欢迎大家提出质疑

    Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例

    本文实例讲述了Python实现的插入排序,冒泡排序,快速排序,选择排序算法。分享给大家供大家参考,具体如下: #!/usr/bin/python # coding:utf-8 #直接插入排序 def insert_sort(list): for i in range(len(list))...

    Python对List中的元素排序的方法

    首先定义一个compare函数: def compare(sf1, sf2): if (sf1.value > sf2.value): return -1; elif (sf1.value == sf2.value): return 0;...以上所述是小编给大家介绍的Python对List中的元素排

    Python中字符串List按照长度排序

    主要介绍了字符串List按照长度排序(python)的实现方法啊,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

    Python 列表排序方法reverse、sort、sorted详解

    python语言中的列表排序方法有三个:reverse反转/倒序排序、sort正序排序、sorted可以获取排序后的列表。在更高级列表排序中,后两中方法还可以加入条件参数进行排序。 reverse()方法 将列表中元素反转排序,比如...

    python排序算法代码汇总

    排序算法汇总的有经常用到的冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序七种,代码可以直接测试。

    Python sorted对list和dict排序

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

    python list多级排序知识点总结

    如果需要对python的list进行多级排序。有如下的数据: list_num = [[12,3],[18,34],[18,10],[12,45],[18,10],[8,34]] 需要从小到大的排序。先比较第一个数,如果第一个数相等的话比较第二个数。代码如下: #默认的...

    python实现排序算法解析

    本文实例为大家分享了python实现排序算法的具体代码,供大家参考,具体内容如下 一、冒泡排序 def bububle_sort(alist): """冒泡排序(稳定|n^2m)""" n = len(alist) for j in range(n-1): count = 0 for i in...

    Python List列表对象内置方法实例详解

    本文实例讲述了Python List列表对象内置方法。分享给大家供大家参考,具体如下: 前言 在上一篇中介绍了Python的序列和String类型的内置方法,本篇继续学习作为序列类型成员之一的List类型的内置方法。 软件环境 ...

    python文件排序的方法总结

    在python环境中提供两种排序方案:用库函数sorted()对字符串排序,它的对象是字符;用函数sort()对数字排序,它的对象是数字,如果读取文件的话,需要进行处理(把文件后缀名‘屏蔽’)。 (1)首先:我测试的文件夹...

    python归并排序算法过程实例讲解

    关于python的算法一直都是让我们又爱又恨,但是如果可以灵活运用起来,对我们的编写代码过程,可以大大提高效率,针对算法之一“归并排序”的灵活掌握,一起来看下吧~ 归并算法——小试牛刀 实例内容: 有 1 个无序...

    Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)

    这篇文章主要简单的介绍使用Python处理txt汉字文字、二维列表排序和获取list下标。希望文章对你有所帮助或提供一些见解~ 一. list二维数组排序 功能:已经通过Python从维基百科中获取了国家的国土面积和排名信息,...

Global site tag (gtag.js) - Google Analytics