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中正则表达式的用法实例汇总
Aug 18 Python
Python实现信用卡系统(支持购物、转账、存取钱)
Jun 24 Python
python爬虫实战之最简单的网页爬虫教程
Aug 13 Python
python 每天如何定时启动爬虫任务(实现方法分享)
May 21 Python
Python基于Tensor FLow的图像处理操作详解
Jan 15 Python
Python解释器及PyCharm工具安装过程
Feb 26 Python
浅析python标准库中的glob
Mar 13 Python
python中可以声明变量类型吗
Jun 18 Python
Python 制作查询商品历史价格的小工具
Oct 20 Python
python3代码中实现加法重载的实例
Dec 03 Python
python用分数表示矩阵的方法实例
Jan 11 Python
Python闭包的定义和使用方法
Apr 11 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面向对象与面向过程两种方法给图片添加文字水印
2015/08/26 PHP
用jquery来定位
2007/02/20 Javascript
Jquery+JSon 无刷新分页实现代码
2010/04/01 Javascript
jquery验证手机号码、邮箱格式是否正确示例代码
2013/07/28 Javascript
鼠标移到导航当前位置的LI变色处于选中状态
2013/08/23 Javascript
javascript dom追加内容实现示例
2013/09/21 Javascript
cookie的复制与使用记住用户名实现代码
2013/11/04 Javascript
JavaScript获取网页表单提交方式的方法
2015/04/02 Javascript
javascript中的Function.prototye.bind
2015/06/25 Javascript
jquery调整表格行tr上下顺序实例讲解
2016/01/09 Javascript
详解Javascript模板引擎mustache.js
2016/01/20 Javascript
全面解析Bootstrap中form、navbar的使用方法
2016/05/30 Javascript
简单谈谈axios中的get,post方法
2017/06/25 Javascript
webpack 2.x配置reactjs基本开发环境详解
2017/08/08 Javascript
JavaScript中call和apply方法的区别实例分析
2018/08/03 Javascript
Vue2.0生命周期的理解
2018/08/20 Javascript
jQuery zTree插件快速实现目录树
2019/08/16 jQuery
express中static中间件的具体使用方法
2019/10/17 Javascript
js实现3D旋转相册
2020/08/02 Javascript
[03:11]TI9战队档案 - Alliance
2019/08/20 DOTA
python实现的一个p2p文件传输实例
2014/06/04 Python
Python进程通信之匿名管道实例讲解
2015/04/11 Python
Python2.x版本中基本的中文编码问题解决
2015/10/12 Python
python基础while循环及if判断的实例讲解
2017/08/25 Python
Python 2.7中文显示与处理方法
2018/07/16 Python
python安装pywin32clipboard的操作方法
2019/01/24 Python
Ubuntu下Anaconda和Pycharm配置方法详解
2019/06/14 Python
django admin后管定制-显示字段的实例
2020/03/11 Python
详解Python 中的 defaultdict 数据类型
2021/02/22 Python
python爬取股票最新数据并用excel绘制树状图的示例
2021/03/01 Python
杰夫·班克斯男士服装网上商店:Jeff Banks
2019/10/24 全球购物
EJB面试题
2015/07/28 面试题
优秀护士获奖感言
2014/02/20 职场文书
蛋糕店创业计划书
2014/05/06 职场文书
Go标准容器之Ring的使用说明
2021/05/05 Golang
MySQL查看表和清空表的常用命令总结
2021/05/26 MySQL