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函数编程的一些特性
Apr 13 Python
用Python中的字典来处理索引统计的方法
May 05 Python
在Windows服务器下用Apache和mod_wsgi配置Python应用的教程
May 06 Python
python生成excel的实例代码
Nov 08 Python
python批量替换多文件字符串问题详解
Apr 22 Python
Python中的单行、多行、中文注释方法
Jul 19 Python
python 实现多线程下载m3u8格式视频并使用fmmpeg合并
Nov 15 Python
Python Django2.0集成Celery4.1教程
Nov 19 Python
python 安装impala包步骤
Mar 28 Python
python实现代码审查自动回复消息
Feb 01 Python
pip install命令安装扩展库整理
Mar 02 Python
PyTorch梯度裁剪避免训练loss nan的操作
May 24 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 使用post,get的一种简洁方式
2010/04/25 PHP
php实现字符串首字母大写和单词首字母大写的方法
2015/03/14 PHP
PHP中判断文件存在使用is_file还是file_exists?
2015/04/03 PHP
nicejforms——美化表单不用愁
2007/02/20 Javascript
基于jQuery的输入框无值自动显示指定数据的实现代码
2011/01/24 Javascript
javascript定时变换图片实例代码
2013/03/17 Javascript
jQuery处理xml格式的返回数据(实例解析)
2013/11/28 Javascript
使用JavaScript 编写简单计算器
2014/11/24 Javascript
值得分享的Bootstrap Ace模板实现菜单和Tab页效果
2015/12/30 Javascript
javascript实现简单计算器效果【推荐】
2016/04/19 Javascript
Angular.js中$apply()和$digest()的深入理解
2016/10/13 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
2016/12/02 Javascript
Vue.js父与子组件之间传参示例
2017/02/28 Javascript
详解nodejs微信公众号开发——6.自定义菜单
2017/04/13 NodeJs
JS中利用FileReader实现上传图片前本地预览功能
2018/03/02 Javascript
node thread.sleep实现示例
2018/06/20 Javascript
在vue-cli创建的项目中使用sass操作
2020/08/10 Javascript
解决iView Table组件宽度只变大不变小的问题
2020/11/13 Javascript
[48:02]Ti4循环赛第三日 VG vs Liquid和NEWBEE vs DK
2014/07/12 DOTA
python网络编程学习笔记(五):socket的一些补充
2014/06/09 Python
python 实现tar文件压缩解压的实例详解
2017/08/20 Python
selenium+python实现自动化登录的方法
2018/09/04 Python
PyCharm设置注释字体颜色以及是否倾斜的操作
2020/09/16 Python
超酷炫 CSS3垂直手风琴菜单
2016/06/28 HTML / CSS
美国最受欢迎的童装品牌之一:The Children’s Place
2016/07/23 全球购物
iRobot官网:改变生活的家用机器人品牌
2016/09/20 全球购物
Nike比利时官网:Nike.com (BE)
2019/02/07 全球购物
类成员函数的重载、覆盖和隐藏区别
2016/01/27 面试题
高分子材料与工程专业推荐信
2013/12/01 职场文书
党员创先争优心得体会
2014/09/11 职场文书
后备干部推荐材料
2014/12/24 职场文书
新郎婚礼答谢词
2015/01/04 职场文书
学生逃课检讨书
2015/02/17 职场文书
辩论会主持词
2015/07/03 职场文书
k8s部署redis cluster集群的实现
2021/06/24 Redis
Python学习之os包使用教程详解
2022/03/21 Python