Python中字典排序

如字典dic={‘a‘:1,‘f‘:2,‘c‘:3,‘h‘:0};要对其进行排序:

函数原型:sorted(dic,value,reverse);

  1. dic为比较函数;
  2. value为比较对象(键或值);
  3. reverse:注明升序还是降序,True--降序,False--升序(默认);

     1 import operator;
     2 # 字典中排序
     3 def sortDict():
     4     dic={‘a‘:1,‘f‘:2,‘c‘:3,‘h‘:0};
     5     # 函数原型:sorted(dic,value,reverse)
     6     # 按字典中的键进行升序排序
     7     print("按键进行升序排序结果为:", 8           sorted(dic.items(),key=operator.itemgetter(0),reverse=False));
     9     # 按字典中的键进行降序排序
    10     print("按键进行降序排序结果为:",11           sorted(dic.items(),key=operator.itemgetter(0),reverse=True));
    12     # 按字典中的值进行升序排序
    13     print("按值进行升序排序结果为:",14           sorted(dic.items(),key=operator.itemgetter(1),reverse=False));
    15     # 按字典中的值进行降序排序
    16     print("按值进行降序排序结果为:",17           sorted(dic.items(),key=operator.itemgetter(1),reverse=True));

    运行结果为:

    1 >>> import randMatrix;
    2 >>> sortDict()
    3 按键进行升序排序结果为: [(‘a‘, 1), (‘c‘, 3), (‘f‘, 2), (‘h‘, 0)]
    4 按键进行降序排序结果为: [(‘h‘, 0), (‘f‘, 2), (‘c‘, 3), (‘a‘, 1)]
    5 按值进行升序排序结果为: [(‘h‘, 0), (‘a‘, 1), (‘f‘, 2), (‘c‘, 3)]
    6 按值进行降序排序结果为: [(‘c‘, 3), (‘f‘, 2), (‘a‘, 1), (‘h‘, 0)]

    iteritems()函数:

  • iteritems()以迭代器对象返回字典键值对;
  • 和item相比:items以列表形式返回字典键值对

     1 >>> dic={‘a‘:1,‘f‘:2,‘c‘:3,‘h‘:0};
     2 >>> dic.items()
     3 dict_items([(‘f‘, 2), (‘h‘, 0), (‘c‘, 3), (‘a‘, 1)])
     4 >>> dic.iteritems()
     5 Traceback (most recent call last):
     6   File "<pyshell#34>", line 1, in <module>
     7     dic.iteritems()
     8 AttributeError: ‘dict‘ object has no attribute ‘iteritems‘
     9 >>> print(dic.iteritems())
    10 Traceback (most recent call last):
    11   File "<pyshell#35>", line 1, in <module>
    12     print(dic.iteritems())
    13 AttributeError: ‘dict‘ object has no attribute ‘iteritems‘

    在Python3.4.2中没有iteritems()函数,所以报错;

时间: 2024-12-28 21:40:55

Python中字典排序的相关文章

python 中字典、数组

a = {"k1":"v1","A":1,"a":2,5:"i5"} a["A"] ="直接修改" a["aa"]="没有的键是新建" del a["a"] #删除一个元素 d.clear() #清空一个字典 1.字典是键值对,没有顺序, 2.键大小写敏感 3.键值可以是混合类型的 b = ["a&

Python中字典get方法的使用

Python中字典get方法的使用 说起来,这个功能是否需要学习还真是有待于讨论.其实,知道了字典这种数据结构以后,通过最基本的Python功能也能够实现一个类似的功能.不过,既然内置了这个功能那么我们就没有必要重复造车轮. 在字典内置的方法中,想说的方法为get.这个方法是通过键来获取相应的值,但是如果相应的键不存在则返回None.其实,None只是一个默认的返回值但是并不是一个不能修改的返回值.其实,如果查询失败,我们可以指定一个返回值. 上面提到的所有功能汇总在一个示范代码,具体如下: #

python中字典以key排序,以value排序。以及通过value找key的方式

1.sorted函数首先介绍sorted函数,sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参数. 其中iterable表示可以迭代的对象,例如可以是dict.items().dict.keys()等,key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还是顺序,reverse=true则是倒序(从大到小),reverse=false则是顺序(从小到大),默认是reverse=false. 2.

python中字典的使用

python中的字典的特性: 在字典中的元素是散列存放的,没有顺序, 在进行增删改查的时候使用字典中需要的关键字(key)即可. 一: 创建字典 1)直接定义一个: dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'} 注: 字典中可包含列表:dict={'yangrong':['23','IT'],"xiaohei":['22','dota']} 字典中可包含字典:dict={'yangrong':{"age&q

浅谈python中字典

1.字典的定义方式有以下: a=dict(one=1,two=2,three=3) b={'one':1,'two':2,'three':3} c=dict(zip(['one','two','three'],[1,2,3])) d=dict([('two',2),('one',1),('three',3)]) e=dict({'three':3,'one':1,'two':2}) 其中这四种定义方式完全等效,有一点需要牢记,标准库中所有的映射类型都是通过字典(dict)来实现,其中只有可散列(

Python中字典和集合

映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元组等 包含可变对象的列表.字典和元组不能用作键 引用不存在的键会引发KeyError异常 1)字典 dict { } 空字典 { key1:value1,key2:value2,... } 字典在其它编程语言中又称作关联数组或散列表: 通过键实现元素存取:无序集合:可变类型容器,长度可变,异构,嵌套 支持的操作: len(D

python中的排序

开发中经常遇到排序的事,汇总到此博文中,用以备忘. 一.字典排序 字典是没有顺序的,将字典排序,经常是将字典转换成一个列表,字典的键和值放到一个元组或列表里.比如对以下字典排序.   >>> adict = {'c': 5, 'b': 3,'a': 9,'d': 0}   >>> sorted(adict.items(),key=lambda x:x[1]) # 将adict按值的大小排序  [('d', 0), ('b', 3), ('c', 5), ('a', 9)

python中字典,元组,集合

python中的字典,元组,集合 -dict -tuple -set dict 字典增删改查 字典创建 my_dict = {'a':1,'b':2} my_dict {'a': 1, 'b': 2} de8ug = {'name':'de8ug', 'city':'beijing', 'code':'python'} #个人信息 de8ug['name'] 'de8ug' de8ug['city'] 'beijing' de8ug.get('name') #尝试去获取name的值 'de8ug

Python中字典和集合的用法

本人开始学习python 希望能够慢慢的记录下去 写下来只是为了害怕自己忘记. python中的字典和其他语言一样 也是key-value的形式  利用空间换时间 可以进行快速的查找 key 是唯一的 不可变的类型 比如 str int 等  不能是list之类的可变类型 1.定义 定义一个字典 格式{key:value,key:value} a = {'a':80,'b':90,1:'a',2:[1,2]} print(a) 如果是定义如下 a = {'a':90,[1,2,3]:10} 则会