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中使用pprint函数进行格式化输出的教程
Apr 07 Python
Python的包管理器pip更换软件源的方法详解
Jun 20 Python
pandas修改DataFrame列名的方法
Apr 08 Python
Django 使用logging打印日志的实例
Apr 28 Python
Python返回数组/List长度的实例
Jun 23 Python
Django框架 Pagination分页实现代码实例
Sep 04 Python
python GUI库图形界面开发之PyQt5中QMainWindow, QWidget以及QDialog的区别和选择
Feb 26 Python
Python制作简单的剪刀石头布游戏
Dec 10 Python
Pytorch 统计模型参数量的操作 param.numel()
May 13 Python
使用Python脚本对GiteePages进行一键部署的使用说明
May 27 Python
详解Python flask的前后端交互
Mar 31 Python
 python中的元类metaclass详情
May 30 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
discuz Passport 通行证 整合笔记
2008/06/30 PHP
apache配置虚拟主机的方法详解
2013/06/17 PHP
PHP实现ftp上传文件示例
2014/08/21 PHP
php使用curl伪造来源ip和refer的方法示例
2018/05/08 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
一个JS翻页效果
2007/07/23 Javascript
基于jQuery实现的水平和垂直居中的div窗口
2011/08/08 Javascript
js日期相关函数总结分享
2013/10/15 Javascript
简介JavaScript中用于处理正切的Math.tan()方法
2015/06/15 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
原生js封装自定义滚动条
2017/03/24 Javascript
微信小程序利用co处理异步流程的方法教程
2017/05/20 Javascript
AngularJS中下拉框的高级用法示例
2017/10/11 Javascript
angular6 填坑之sdk的方法
2018/12/27 Javascript
pyecharts绘制中国2020肺炎疫情地图的实例代码
2020/02/12 Python
Pycharm激活码激活两种快速方式(附最新激活码和插件)
2020/03/12 Python
Python yield生成器和return对比代码实例
2020/04/20 Python
Django 解决新建表删除后无法重新创建等问题
2020/05/21 Python
Python执行时间的几种计算方法
2020/07/31 Python
全球航班旅行搜索网站:Cheapflights
2017/05/19 全球购物
Desigual美国官方网站:西班牙服装品牌
2019/03/29 全球购物
一套PHP的笔试题
2013/05/31 面试题
考试不及格检讨书
2014/01/09 职场文书
总经理助理工作职责
2014/02/06 职场文书
自强之星事迹材料
2014/05/12 职场文书
师范学院毕业生求职信
2014/06/24 职场文书
煤矿安全协议书
2014/08/20 职场文书
七夕相亲活动策划方案
2014/08/31 职场文书
医院见习报告范文
2014/11/03 职场文书
2014普法依法治理工作总结
2014/12/18 职场文书
2014会计年终工作总结
2014/12/20 职场文书
大学生操行评语大全
2014/12/31 职场文书
2016年学校综治宣传月活动总结
2016/03/16 职场文书
使用pytorch实现线性回归
2021/04/11 Python
redis限流的实际应用
2021/04/24 Redis
Apache POI操作批量导入MySQL数据库
2022/06/21 Servers