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基础之包的导入和__init__.py的介绍
Jan 08 Python
python3使用SMTP发送HTML格式邮件
Jun 19 Python
python顺序的读取文件夹下名称有序的文件方法
Jul 11 Python
python调用c++ ctype list传数组或者返回数组的方法
Feb 13 Python
详解pytorch 0.4.0迁移指南
Jun 16 Python
keras获得某一层或者某层权重的输出实例
Jan 24 Python
python GUI库图形界面开发之PyQt5中QMainWindow, QWidget以及QDialog的区别和选择
Feb 26 Python
通过实例解析Python return运行原理
Mar 04 Python
Python通过kerberos安全认证操作kafka方式
Jun 06 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
Nov 22 Python
Python模拟键盘输入自动登录TGP
Nov 27 Python
Python3使用tesserocr识别字母数字验证码的实现
Jan 29 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编程最快明白》第三讲:php数组
2010/11/01 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
2014/09/06 PHP
PHP数组游标实现对数组的各种操作详解
2016/01/26 PHP
PHP-FPM实现性能优化
2016/03/31 PHP
javascript document.referrer 用法
2009/04/30 Javascript
javascript基础知识大集锦(二) 推荐收藏
2011/01/13 Javascript
jQuery弹出(alert)select选择的值
2013/04/21 Javascript
JavaScript去除数组里重复值的方法
2015/07/13 Javascript
js实现基于正则表达式的轻量提示插件
2015/08/29 Javascript
Boostrap基础教程之JavaScript插件篇
2016/09/08 Javascript
JS中位置与大小的获取方法
2016/11/22 Javascript
原生js FileReader对象实现图片上传本地预览效果
2020/03/27 Javascript
利用JQUERY实现多个AJAX请求等待的实例
2017/12/14 jQuery
JavaScript实现正则去除a标签并保留内容的方法【测试可用】
2018/07/18 Javascript
Vue 开发音乐播放器之歌手页右侧快速入口功能
2018/08/08 Javascript
解决vue-cli@3.xx安装不成功的问题及搭建ts-vue项目
2020/02/09 Javascript
Python多线程实例教程
2014/09/06 Python
Python json模块使用实例
2015/04/11 Python
Python常用知识点汇总
2016/05/08 Python
Python中输入和输出(打印)数据实例方法
2019/10/13 Python
keras 多任务多loss实例
2020/06/22 Python
Python图像处理二值化方法实例汇总
2020/07/24 Python
Python如何使用神经网络进行简单文本分类
2021/02/25 Python
CSS3 渐变(Gradients)之CSS3 线性渐变
2016/07/08 HTML / CSS
NFL Game Pass欧洲:在线观看NFL比赛直播和点播,以高清质量播放
2018/08/30 全球购物
哄娃神器4moms商店:美国婴童用品品牌
2019/03/07 全球购物
C#面试题问题集
2016/04/02 面试题
弘扬雷锋精神活动演讲稿
2014/03/04 职场文书
外贸采购员岗位职责
2014/03/08 职场文书
海洋科学专业求职信
2014/08/10 职场文书
2014年社区卫生工作总结
2014/12/18 职场文书
2015年精神文明建设工作总结
2015/04/21 职场文书
网络安全倡议书(3篇)
2019/09/18 职场文书
python 实现两个变量值进行交换的n种操作
2021/06/02 Python
swagger如何返回map字段注释
2021/07/03 Java/Android
MySQL实现字段分割一行转多行的示例代码
2022/07/07 MySQL