本文实例讲述了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"

PS:这里再为大家推荐一款关于排序的演示工具供大家参考:

希望本文所述对大家Python程序设计有所帮助。

python字典遍历 没有顺序_Python实现字典的遍历与排序功能示例相关推荐

  1. python统计文章单词次数_Python实现的统计文章单词次数功能示例

    本文实例讲述了Python实现的统计文章单词次数功能.分享给大家供大家参考,具体如下: 题目是这样的:你有一个目录,放了你一个月的日记,都是 txt,为了避免分词的问题,假设内容都是英文,请统计出你认 ...

  2. python如何画贝塞尔曲线_Python使用matplotlib实现绘制自定义图形功能示例

    本文实例讲述了Python使用matplotlib实现绘制自定义图形功能.分享给大家供大家参考,具体如下: 一 代码 from matplotlib.path importPath from matp ...

  3. python字典遍历 没有顺序_Python中字典的顺序问题(为什么实践发现字典的遍历和方法popitem并不是随机的?)...

    据称,字典的遍历是没有一定顺序的,但是我在实践中发现,它总是从第一组元素开始依次遍历到最后一个元素. my_dict = dict.fromkeys(range(10**5)) i = 0 for k ...

  4. python获取电脑硬件信息_Python实现的读取电脑硬件信息功能示例

    本文实例讲述了Python实现的读取电脑硬件信息功能.分享给大家供大家参考,具体如下: 上学那会,老师让我用java获取电脑硬件信息,CPU, 硬盘,MAC等,那个时候感觉搞了好久...... 今天, ...

  5. python实现模拟浏览器登录_Python使用win32com实现的模拟浏览器功能示例

    本文实例讲述了Python使用win32com实现的模拟浏览器功能.分享给大家供大家参考,具体如下: # -*- coding:UTF-8 -*- #!/user/bin/env python ''' ...

  6. python生成word文档_python实现的生成word文档功能示例

    本文实例讲述了python实现的生成word文档功能.分享给大家供大家参考,具体如下: 每月1次的测试费用报销,需要做一个文档.干脆花点时间写个程序吧. # -*- coding: utf-8 -*- ...

  7. python微信推送消息_Python实现微信推送模板消息功能示例

    这篇文章主要介绍了Python编程之微信推送模板消息功能,结合实例形式分析了Python微信推送消息接口的调用相关操作技巧,需要的朋友可以参考下 本文实例讲述了Python微信推送模板消息功能.分享给 ...

  8. python给excel排序_Python实现EXCEL表格的排序功能示例

    Python实现EXCEL表格的排序功能示例 EXCEL的数值排序功能还是挺强大的,升序.降序,尤其自定义排序,能够对多个字段进行排序工作. 那么,在Python大法中,有没有这样强大的排序功能呢?答 ...

  9. python sort 多级排序_Python使用sort和class实现的多级排序功能示例

    本文实例讲述了Python使用sort和class实现的多级排序功能.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- import random class Temp: ...

最新文章

  1. php手机定位导航,js实现网页定位导航功能
  2. linux learning site
  3. 用最简单的例子说明设计模式(一)之单例模式、工厂模式、装饰模式、外观模式...
  4. 成功解决ValueError: not enough values to unpack (expected 2, got 1)
  5. SAP Credit Memo Debit Memo
  6. python json模块详解_Python的标准模块包json详解
  7. 9.3磁盘及文件系统管理详解
  8. paper 108:系统学习数字图像处理之图像复原与重建
  9. [20151014]关于result cache.txt
  10. 统计项目代码行数的工具——SLOCCount
  11. Cadence Allegro元件更换层图文教程
  12. NetXray使用说明之(6)----捕捉oicq message报文
  13. Matlab 常用快捷键
  14. Java入门学习笔记
  15. 美国大学计算机科学专业排名2020,美国大学计算机专业排名2020情况如何?
  16. 模拟cmos集成电路(2)
  17. 抖音服务器维护播放为零,抖音作品为什么播放为零 账号是不是被官方限流屏蔽了...
  18. 入市须知—什么是熊市?
  19. 红日ATTCK实战系列(一)
  20. 纯JS省市区三级不联动 数据有更新

热门文章

  1. python基础----特性(property)、静态方法(staticmethod)、类方法(classmethod)、__str__的用法...
  2. SCCM2012 R2系统部署时,客户端报0x80004005错误(2)
  3. 开源WinForms界面开发框架Management Studio 选项卡文档 插件 Office 2007蓝色风格 后台线程...
  4. ORA-02291: 违反完整约束条件 …… - 未找到父项关键字
  5. 【概率论】对弈输光模型,ruin model
  6. 企业内网安全十大防护策略
  7. 防止页面的重复提交,刷新
  8. Delphi WebBrowser控件的使用
  9. 运行mvc项目报错 %@ Application Codebehind=Global.asax.cs Inherits=NHAPPAPI.MvcApplication Language=C...
  10. 算法之最长公共子序列(LCS)问题