(翻译)如何对python dict 类型按键(keys)或值(values)排序

如何对dict类型按键(keys)排序(Python 2.4 或更高版本):

mydict = {‘carl‘:40,
          ‘alan‘:2,
          ‘bob‘:1,
          ‘danny‘:3}

for key in sorted(mydict.iterkeys()):
    print "%s: %s" % (key, mydict[key])

结果:

alan: 2
bob: 1
carl: 40
danny: 3

摘自 Python FAQ: http://www.python.org/doc/faq/general/#why-doesn-t-list-sort-return-the-sorted-list.

若按相反的顺序,按键(keys)排序,则需在sorted函数中添加 reverse=True 参数。

如何对dict类型按键(keys)排序(比Python 2.4 更旧版本):

keylist = mydict.keys()
keylist.sort()
for key in keylist:
    print "%s: %s" % (key, mydict[key])

这段程序结果与上面的结果相同。

如何对dict类型按值(values)排序(Python 2.4 或更高版本):

for key, value in sorted(mydict.iteritems(), key=lambda (k,v): (v,k)):
    print "%s: %s" % (key, value)

结果:

bob: 1
alan: 2
danny: 3
carl: 40

摘自 Nick Galbreath‘s Digital Sanitation Engineering blog article

参见:

原文网址:http://www.saltycrane.com/blog/2007/09/how-to-sort-python-dictionary-by-keys/

时间: 2024-11-06 22:44:22

(翻译)如何对python dict 类型按键(keys)或值(values)排序的相关文章

python 分词计算文档TF-IDF值并排序

文章来自于我的个人博客:python 分词计算文档TF-IDF值并排序 该程序实现的功能是:首先读取一些文档,然后通过jieba来分词,将分词存入文件,然后通过sklearn计算每个分词文档中的tf-idf值,再将文档排序输入一个大文件中 依赖包: sklearn jieba 注:此程序参考了一位同行的程序后进行了修改 # -*- coding: utf-8 -*- """ @author: jiangfuqiang """ import os

python字典转化成json格式。JSONEncoder和JSONDecoder两个类来实现Json字符串和dict类型数据的互相转换

遇到问题:进行Webservice接口测试时,对接口入参数据进行了处理,变成了dict格式,去进行接口请求报错. 需要转成成json格式,双引号去扩. 如下: 更改代码: # 在Python标准库的json包中,提供了JSONEncoder和JSONDecoder两个类来实现Json字符串和dict类型数据的互相转换. from json import * if __name__=="__main__": d={} d['a'] =1 d['b']=2 d[3]='c' d[4]=['

Python元组类型、字典类型及常用操作

一.元组类型 1.用途 记录多个值,当多个值没有改的需求,此时用元组更合适,Python的元组与列表类似,不同之处在于元组的元素不能修改. 2.定义方式 在()内用逗号分隔开多个任意类型的值 t=(1,6,(5,''),{}) #t=tuple((1,6,(5,''),{})) t1=tuple('hello') 3.常用操作+内置的方法 优先掌握的操作:1.按索引取值(正向取+反向取):只能取 t=(1,6,(5,''),[1,5,3]) t[0]='1' 2.切片(顾头不顾尾,步长) t=(

Python dict 按键和值排序

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),

Python 变量类型day03

变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 等号(=)用来给变量赋值. 等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值.例如: #!/usr/bin/python counter = 100 # An integer assignment miles = 1000.0 # A floating point na

python dict 排序

我们知道Python的内置dictionary数据类型是无序的,通过key来获取对应的value.可是有时我们需要对dictionary中 的item进行排序输出,可能根据key,也可能根据value来排.到底有多少种方法可以实现对dictionary的内容进行排序输出呢?下面摘取了 一些精彩的解决办法. python对容器内数据的排序有两种,一种是容器自己的sort函数,一种是内建的sorted函数. sort函数和sorted函数唯一的不同是,sort是在容器内(in-place)排序,so

python字典类型

字典类型简介 字典(dict)是存储key/value数据的容器,也就是所谓的map.hash.关联数组.无论是什么称呼,都是键值对存储的方式. 在python中,dict类型使用大括号包围: D = {"key1": "value1", "key2": "value2", "key3": "value3"} dict对象中存储的元素没有位置顺序,所以dict不是序列,不能通过索引的方式

【Python学习】Python 变量类型

目录 Pythone变量类型 变量赋值 标准数据类型 Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间.基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中.因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符. 变量赋值 Python 中的变量赋值不需要类型声明.每个变量在内存中创建,都包括变量的标识,名称和数据这些信息.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建.等号(=)用来给变量赋值.等号(=)运

Python 动态类型

Python 动态类型 1.Python中,类型是在运行过程中自动决定的,并不需要提前在代码中声明. 2.所有变量必须在使用前明确的赋值,否则将会产生错误.#例:NameError: name 'a' is not defined 3.赋值语句 a=3 代表了:创建一个对象代表3:创建一个变量a:将变量与新的对象3相连.实际上是到对象内存空间的一个指针! 4.上面的第3条可翻译为:变量是一个系统表的元素,拥有指向对象的链接的空间:对象是分配的一块内存,有足够空间来表示他们所代表的值:引用是自动形