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获取目录下所有文件的方法
Jun 01 Python
Python用zip函数同时遍历多个迭代器示例详解
Nov 14 Python
python实现用户管理系统
Jan 10 Python
python的socket编程入门
Jan 29 Python
Python实现统计给定字符串中重复模式最高子串功能示例
May 16 Python
Django Admin实现三级联动的示例代码(省市区)
Jun 22 Python
用Python将一个列表分割成小列表的实例讲解
Jul 02 Python
Flask框架信号用法实例分析
Jul 24 Python
Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析
Apr 12 Python
selenium跳过webdriver检测并模拟登录淘宝
Jun 12 Python
PyQt5基本控件使用之消息弹出、用户输入、文件对话框的使用方法
Aug 06 Python
python3代码输出嵌套式对象实例详解
Dec 03 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数组
2006/10/09 PHP
Php+SqlServer实现分页显示
2006/10/09 PHP
PHP 模板高级篇总结
2006/12/21 PHP
PHP数组操作类实例
2015/07/11 PHP
Yii框架中sphinx索引配置方法解析
2016/10/18 PHP
php使用crypt()函数进行加密
2017/06/08 PHP
javascript this用法小结
2008/12/19 Javascript
javascript window.confirm确认 取消对话框实现代码小结
2012/10/21 Javascript
javascript编码的几个方法详细介绍
2013/01/06 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
jQuery中after()方法用法实例
2014/12/25 Javascript
js选项卡的实现方法
2015/02/09 Javascript
NodeJS创建基础应用并应用模板引擎
2016/04/12 NodeJs
BooStrap对导航条的改造实践小结
2016/09/21 Javascript
脚本div实现拖放功能(两种)
2017/02/13 Javascript
Vue中建立全局引用或者全局命令的方法
2017/08/21 Javascript
select获取下拉框的值 下拉框默认选中方法
2018/02/28 Javascript
使用wxapp-img-loader自定义组件实现微信小程序图片预加载功能
2018/10/18 Javascript
150行Node.js实现的dns代理工具
2019/08/02 Javascript
jQuery实现提交表单时不提交隐藏div中input的方法
2019/10/08 jQuery
微信小程序开发摇一摇功能
2019/11/22 Javascript
vue ajax 拦截原理与实现方法示例
2019/11/29 Javascript
Node.js API详解之 net模块实例分析
2020/05/18 Javascript
antd 表格列宽自适应方法以及错误处理操作
2020/10/27 Javascript
django通过ajax发起请求返回JSON格式数据的方法
2015/06/04 Python
Python 字典与字符串的互转实例
2017/01/13 Python
详解Python在七牛云平台的应用(一)
2017/12/05 Python
PyQt编程之如何在屏幕中央显示窗体的实例
2019/06/18 Python
python模拟菜刀反弹shell绕过限制【推荐】
2019/06/25 Python
如何用Python破解wifi密码过程详解
2019/07/12 Python
python安装和pycharm环境搭建设置方法
2020/05/27 Python
HTML5中通过li-canvas轻松实现单图、多图、圆角图绘制,单行文字、多行文字等
2018/11/30 HTML / CSS
一波HTML5 Canvas基础绘图实例代码集合
2016/02/28 HTML / CSS
Html5与App的通讯方式详解
2019/10/24 HTML / CSS
N.Peal官网:来自伦敦的高档羊绒品牌
2018/10/29 全球购物
毕业生个人求职信范例分享
2013/12/17 职场文书