Python实现字典的遍历与排序功能示例


Posted in Python onDecember 23, 2017

本文实例讲述了Python实现字典的遍历与排序功能。分享给大家供大家参考,具体如下:

字典的遍历:

首先:

items():

功能:以列表的形式返回字典键值对

eg:

dict_={"a":2,"b":3,"c":6}
dict_.items()
>>>[('a',2),('b',3),('c',6)]

iteritems():

功能:以迭代器对象返回字典键值对

# -*- coding: cp936 -*-
dict1={'a':1,'b':2,'c':3}
#第一种:
for d in dict1:
  print "%s:%d"%(d,dict1[d])
print
#第二种:
for k,v in dict1.items():
  print "%s:%d"%(k,v)
print
#第三种:
for k,v in dict1.iteritems():
  print "%s:%d"%(k,v)
print
#第四种:
for k in dict1.iterkeys():
  print "%s:%d"%(k,dict1[k])
print
#第五种:
for v in dict1.itervalues():
  print v
print
#第六种:
for k,v in zip(dict1.iterkeys(),dict1.itervalues()):
  print "%s:%d"%(k,v)
print

zip()函数可以把列表合并,并创建一个元祖对的列表。

eg:

list1=[1,2,3]
list2=[4,5,6]
zip(a,b)
>>>[(1,4),(2,5),(3,6)]

zip()函数参数可以是任何类型的序列,也可以有两个以上的参数,当传入参数的长度不同时,zip自动以最短序列长度为准进行截取,获得元祖。

字典的排序:

首先:

函数sorted(dic,value,reverse)

过程:第一个参数传递给第二个参数“键-键值”,第二个参数取出其中的键[0]或键值[1]

dic为比较函数,value为排序对象(键或者键值)

reverse注明升序排序或是降序排序,值有true-降序和false-升序(默认值)

eg:按字典的键值排序(把dict[1]换成dict[0]就是按字典的键排序)

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

解释说明:

dict.iteritems()得到[(键,键值),(键,键值),(键,键值)...]的列表。然后用sorted方法,通过key这个参数指定排序是按照键值,也就是第一个元素d[1]的值来排序。reverse=True表示需要翻转的(即降序排序),默认是升序排序。

函数lambda与函数iteritems()

lambda

功能:创建匿名函数

eg:

fun_1=lambda a:a+1
print fun_1(1)
>>>2
fun_2=lambda a,b:a+2*b
fun_2(1,1)
>>>3

iteritems()

功能:以迭代器对象返回字典键值对

# -*- coding: cp936 -*-
print "按字典键值进行排序"
dict1={'a':3,'c':1,'b':2}
#升序:
dict_a=sorted(dict1.iteritems(),key=lambda dict1:dict1[1],reverse=False) 
#降序排序reverse=True ,该参数可省,默认为False。 或者dict_a.reverse()
print dict_a,"\n"
#降序:
dict2={'a':3,'c':1,'b':2}
dict_b=sorted(dict2.iteritems(),key=lambda dict2:dict2[1],reverse=True)
print dict_b,"\n"
##############################################################
print "按字典键进行排序"
dict3={'d':6,'e':5,'f':4}
#降序:
dict_c=sorted(dict3.iteritems(),key=lambda dict3:dict3[0],reverse=True) 
#降序排序reverse=True ,该参数可省,默认为False。 或者dict_a.reverse()
print dict_c,"\n" 
#升序:
dict4={'d':6,'e':5,'f':4}
dict_d=sorted(dict4.iteritems(),key=lambda dict4:dict4[0])#改为降序与上面同理
print dict_d,"\n"
Python 相关文章推荐
python获取android设备的GPS信息脚本分享
Mar 06 Python
Python使用PIL库实现验证码图片的方法
Mar 11 Python
Python 2与Python 3版本和编码的对比
Feb 14 Python
TensorFlow 滑动平均的示例代码
Jun 19 Python
在scrapy中使用phantomJS实现异步爬取的方法
Dec 17 Python
python字符串分割及字符串的一些常规方法
Jul 24 Python
Python使用tkinter模块实现推箱子游戏
Oct 08 Python
pytorch点乘与叉乘示例讲解
Dec 27 Python
Django Admin后台添加数据库视图过程解析
Apr 01 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
Apr 21 Python
基于python 将列表作为参数传入函数时的测试与理解
Jun 05 Python
4种方法python批量修改替换列表中元素
Apr 07 Python
Python实现字典按照value进行排序的方法分析
Dec 23 #Python
Python使用Matplotlib实现雨点图动画效果的方法
Dec 23 #Python
简单了解什么是神经网络
Dec 23 #Python
python用户管理系统的实例讲解
Dec 23 #Python
python队列通信:rabbitMQ的使用(实例讲解)
Dec 22 #Python
python3写爬取B站视频弹幕功能
Dec 22 #Python
机器学习经典算法-logistic回归代码详解
Dec 22 #Python
You might like
PHP的一个基础知识 表单提交
2011/07/04 PHP
ThinkPHP与PHPExcel冲突解决方法
2011/08/08 PHP
在PHP中利用wsdl创建标准webservice的实现代码
2011/12/07 PHP
逆序二维数组插入一元素的php代码
2012/06/08 PHP
phpmailer发送gmail邮件实例详解
2013/06/24 PHP
Smarty foreach控制循环次数的实现详解
2013/07/03 PHP
PHP开发框架laravel安装与配置教程
2015/03/13 PHP
Yii框架组件的事件机制原理与用法分析
2020/04/07 PHP
常用js脚本
2006/12/03 Javascript
23个超流行的jQuery相册插件整理分享
2011/04/25 Javascript
Extjs4中tree的拖拽功能(可以两棵树之间拖拽) 简单实例
2013/12/08 Javascript
javascript使用正则获取url上的某个参数
2014/09/04 Javascript
Javascript冒泡排序算法详解
2014/12/03 Javascript
cookie的secure属性详解
2015/04/08 Javascript
RequireJS多页面应用实例分析
2016/06/29 Javascript
详解js静态资源文件请求的处理
2017/08/01 Javascript
重学JS 系列:聊聊继承(推荐)
2019/04/11 Javascript
微信端调取相册和摄像头功能,实现图片上传,并上传到服务器
2019/05/16 Javascript
React服务端渲染原理解析与实践
2021/03/04 Javascript
Python2.x中str与unicode相关问题的解决方法
2015/03/30 Python
简介Python设计模式中的代理模式与模板方法模式编程
2016/02/02 Python
python数据处理实战(必看篇)
2017/06/11 Python
浅谈Pandas中map, applymap and apply的区别
2018/04/10 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
浅谈pyqt5中信号与槽的认识
2019/02/17 Python
python中pip的使用和修改下载源的方法
2019/07/08 Python
Python 创建TCP服务器的方法
2020/07/28 Python
毕业生找工作的自我评价
2013/10/18 职场文书
2014年消防工作实施方案
2014/02/20 职场文书
工程造价专业大学生职业规划范文
2014/03/09 职场文书
优秀教师自我评价范文
2014/09/27 职场文书
硕士毕业论文导师评语
2014/12/31 职场文书
2015年扫黄打非工作总结
2015/05/13 职场文书
七个Python必备的GUI库
2021/04/27 Python
JavaScript小技巧带你提升你的代码技能
2021/09/15 Javascript
python基础之错误和异常处理
2021/10/24 Python