精华内容
下载资源
问答
  • 对简单字典的排序,如d = {'a':2, 'b':23, 'c':5, 'd':17, 'e':1},按key-value排序,官方有一种传说是最快的方法。 ...from operator import itemgetter sorted(d.iteritems(), ...另附一些排序方法的测试代码:

    对简单字典的排序,如d = {'a':2, 'b':23, 'c':5, 'd':17, 'e':1},按key-value排序,官方有一种传说是最快的方法。

    
    from operator import itemgetter
    sorted(d.iteritems(), key=itemgetter(1), reverse=True)
    

    另附一些排序方法的测试代码:

    
    def sbv0(adict,reverse=False):
        return sorted(adict.iteritems(), key=lambda (k,v): (v,k), reverse=reverse)
    
    def sbv1(d,reverse=False):
        L = [(k,v) for (k,v) in d.iteritems()]
        return sorted(L, key=lambda x: x[1] , reverse=reverse)
    
    def sbv2(d,reverse=False):
        return sorted(d.items(), key=lambda x: x[1] , reverse=reverse)
    
    def sbv3(d,reverse=False):
        L = ((k,v) for (k,v) in d.iteritems())
        return sorted(L, key=lambda x: x[1] , reverse=reverse)
    
    def sbv4(d,reverse=False):
        return sorted(d.iteritems(), key=lambda x: x[1] , reverse=reverse)
    
    from operator import itemgetter
    def sbv5(d,reverse=False):
        return sorted(d.iteritems(), key=itemgetter(1), reverse=True)
    
    D = dict(zip(range(100),range(100)))
    
    from profile import run
    
    run("for ii in xrange(10000):  sbv0(D, reverse=True)")
    run("for ii in xrange(10000):  sbv1(D, reverse=True)")
    run("for ii in xrange(10000):  sbv2(D, reverse=True)")
    run("for ii in xrange(10000):  sbv3(D, reverse=True)")
    run("for ii in xrange(10000):  sbv4(D, reverse=True)")
    run("for ii in xrange(10000):  sbv5(D, reverse=True)")
    
    

    参考资料 http://www.python.org/dev/peps/pep-0265/

    展开全文
  • python字典排序方法

    2020-09-18 14:08:59
    在本篇文章里小编给大家整理的是关于python字典怎么排序的相关知识点内容,有兴趣的朋友们学习下。
  • 主要介绍了python字典排序实现方法,实例分析了Python字典排序的相关技巧,需要的朋友可以参考下
  • 主要介绍了Python OrderedDict字典使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • Python字典排序

    2019-01-17 16:59:21
    python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行: 1 下面的是按照value的值从大到小的顺序来排序。 dic = {'a':31, 'bc':5...

    python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行:

    1 下面的是按照value的值从大到小的顺序来排序。

    dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}
    
    dict= sorted(dic.items(), key=lambda d:d[1], reverse = True)
    
    print(dict)

    输出的结果:

    [('aa', 74), ('a', 31), ('bc', 5), ('asd', 4), ('c', 3), ('d', 0)]

    下面我们分解下代码:

    print dic.items() 得到[(键,值)]的列表。

    然后用sorted方法,通过key这个参数,指定排序是按照value,也就是第一个元素d[1的值来排序。reverse = True表示是需要翻转的,默认是从小到大,翻转的话,那就是从大到小。

    2 对字典按键(key)排序:

    dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}
    
    dict= sorted(dic.items(), key=lambda d:d[0])
    
    print dict

    转载自https://www.jb51.net/article/87510.htm

    展开全文
  • python字典排序 笔记

    2019-12-12 17:14:31
    字典排序 我们知道 字典是无序的,所以打印字典时内容也是无序的。因此,为了使统计得到的结果更方便查看需要进行排序。 强调: Python中字典的排序分为按“键”排序和按“值”排序。 字典排序后,通常改变为以列表...

    字典排序

    我们知道 字典是无序的,所以打印字典时内容也是无序的。因此,为了使统计得到的结果更方便查看需要进行排序。

    强调:

    • Python中字典的排序分为按“键”排序和按“值”排序。
    • 字典排序后,通常改变为以列表形式展现。当然,也可以转化为字典形式展现。

    sorted()方法使用介绍:

    sorted()方法使用格式:

        sorted(iterable,key=函数名字,reverse=False

    参数解释:

    参数 说明
    iterable 必须参数,是可迭代类型;
    key 可选参数,有默认值。key在使用时必须提供一个排序过程中总被调用的函数名字(或者被称为函数引用)。一般来说,key可以使用lambda匿名函数。
    reverse 可选参数,排序规则, 默认为升序reverse = False;reverse = True 为降序。
    返回值 是一个经过排序的新的可迭代类型,不改变原序列。

    如果对字典进行排序,常用的形式如下:sorted(dict.items(), key=lambda e:e[1], reverse=True), 其中e表示dict.items()中的一个元素,e[1]则表示按 值排序如果把e[1]改成e[0],那么则是按键排序,reverse=False可以省略,默认为升序排列。

    说明:字典的items()函数返回的是一个列表,列表的每个元素是一个键和值组成的元组。因此,sorted(dict.items(), key=lambda e:e[1], reverse=True)返回的值同样是由元组组成的列表。

    lambda(匿名函数)使用介绍

    lambda函数可以接收任意数量的参数,但只能返回一个表达式的值。
    使用格式:

    #第一种
    #定义匿名函数
    fun = lambda 形参 : 返回值的表达式
    #调用匿名函数1
    fun(实参)
    #第二种
    #定义和调用匿名函数
    (lambda 形参 : 返回值的表达式)(实参)
    

    1、按“值”排序

    按“值”排序就是根据字典的“值”进行排序,可以使用内置的sorted()函数。

    格式如下:

    sorted(dict.items(), key=lambda e:e[1], reverse=True)
    

    其中e表示dict.items()中的一对 (键,值) 元素,e[1]则表示按 “值” 排序。

    2、按“键”排序1

    如果把上述内容e[1]改成e[0],那么则是按 排序。

    3、使用列表排序实现字典排序

    直接上代码:

    3.1按“值”排序

    ls_student =  [('2',67),['1',59], ['3',57]]
    dc_student = dict(ls_student)
    def sortedDictValues1(adict):
        items = list(adict.items())
        items.sort()
        return [(key,value) for key, value  in items]
    re = sortedDictValues1(dc_student)
    print(re)
    

    3.2按“键”排序

    ls_student =  [('2',67),['1',59], ['3',57]]
    dc_student = dict(ls_student)
    def sortedDictValues1(adict):
        keys = list(adict.keys())
        keys.sort()
        return [(key,adict[key]) for key in keys]
    re = sortedDictValues1(dc_student)
    print(re)
    

    资料参考,该资料中代码有误!

    展开全文
  • python 字典排序

    2017-08-14 11:11:58
    python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行:1 下面的是按照value的值从大到小的顺序来排序。dic = {‘a’:31, ‘bc’:5,...

    python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行:

    1 下面的是按照value的值从大到小的顺序来排序。

    dic = {‘a’:31, ‘bc’:5, ‘c’:3, ‘asd’:4, ‘aa’:74, ‘d’:0}
    dict= sorted(dic.iteritems(), key=lambda d:d[1], reverse = True)
    print dict

    输出的结果:
    [(‘aa’, 74), (‘a’, 31), (‘bc’, 5), (‘asd’, 4), (‘c’, 3), (‘d’, 0)]

    下面我们分解下代码
    print dic.iteritems() 得到[(键,值)]的列表。
    然后用sorted方法,通过key这个参数,指定排序是按照value,也就是第一个元素d[1]的值来排序。reverse = True表示是需要翻转的,默认是从小到大,翻转的话,那就是从大到小。

    2 对字典按键(key)排序:
    dic = {‘a’:31, ‘bc’:5, ‘c’:3, ‘asd’:4, ‘aa’:74, ‘d’:0}
    dict= sorted(dic.iteritems(), key=lambda d:d[0]) d[0]表示字典的键
    print dict

    最后输出的结果就不是字典了,是列表。
    原文:http://www.cnpythoner.com/post/266.html

    展开全文
  • python字典排序

    2018-04-29 13:05:16
    我们都知道字典是无序的,如何根据字典的key或者value排序呢? 根据字典的key排序 提供三种方法:1、使用lambda >>> a = {'b':'a','d':'d','a':'a'} >>> sorted(a.items(),key=lambda x:x[0]) [('...
  • 引言Dictionary 是一种重要的数据结构,它通过将 key 与 value 进行映射来存储数据。Python 中的默认字典是无序数据结构。与列表一样,我们可以使用 sorted()函...
  • 主要介绍了Python实现字典排序、按照list中字典的某个key排序的方法,涉及Python字典与列表排序相关操作技巧,需要的朋友可以参考下
  • 第一种方法:逐个比较大小(按值排序) d = {'a':1,'b':4,'c':2} l = [] mv = 0 for v in d.values(): if v > mv: mv = v print(mv) #根据值得出相对应的键 list(d.keys())[list(d.values()).index(4)] 第二...
  • 项目编写过程中,总能遇见对字典进行排序什么的,如果要实现多条件排序只需要下面几行代码实现。充分体现了python的好处了。 复制代码 代码如下: teamitems = [{‘team’:’France’ , ‘P’:1 , ‘GD’:-3 , ‘GS...
  • Python字典按值排序、包含字典的列表按字典值排序方法
  • key=operator.itemgetter(1)根据字典的值进行排序 key=operator.itemgetter(0)根据字典的键进行排序
  • 字典Python语言中的一种数据结构,每一个字典元素是由一对key-value组成的。而字典的key和value分别以集合(Set)形似组织,以便快速查询。集合的存储形似通常是树的结构,所以搜索非常快。我们可以单独通过字典的...
  • python 字典排序

    2017-08-27 16:55:20
    在实际使用的时候,经常会碰到对python字典的排序,首先要声明的是python字典是通过哈希映射来存储,...对字典排序有两种方法。 第一种: import operator dic = {‘d’:2,’b’:4,’c’:1} b = sorted(dic.ite
  • Python字典按值排序方法: 法1: (默认升序排序,加reverse = True 指定为降序排序) # sorted的结果是一个list dic1SortList = sorted( dic1.items(),key = lambda x:x[1],reverse = True) 法2: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 927
精华内容 370
关键字:

python字典排序方法

python 订阅