首页 > 代码库 > Python中字典排序
Python中字典排序
如字典dic={‘a‘:1,‘f‘:2,‘c‘:3,‘h‘:0};要对其进行排序:
函数原型:sorted(dic,value,reverse);
- dic为比较函数;
- value为比较对象(键或值);
- 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()函数,所以报错;
Python中字典排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。