Python实现字典(dict)的迭代操作示例


Posted in Python onJune 05, 2018

本文实例讲述了Python实现字典(dict)的迭代操作。分享给大家供大家参考,具体如下:

#!/usr/bin/python
# -*- coding:utf-8 -*-
#! python2
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 }
# 迭代dict的键
for x in d.keys():
  print x
# 也可以采用这种方式迭代
for x in d.iterkeys():
  print x
# 迭代dict的值
for x in d.values():
  print x
for x in d.itervalues():
  print x
# 迭代键值对
for k, v in d.items():
  print k, ":", v
for k, v in d.iteritems():
  print k, ":", v
'''''
上述代码中,对键值或者是键值对迭代的方法都有两种,
以values和itervalues为例,
说明这两种方式的区别
1. values() 方法实际上把一个 dict 转换成了包含 value 的list。
2. 但是 itervalues() 方法不会转换,它会在迭代过程中依次从 dict 中取出 value,
所以 itervalues() 方法比 values() 方法节省了生成 list 所需的内存。
3. 打印 itervalues() 发现它返回一个 <dictionary-valueiterator> 对象,这说明在Python中,
for 循环可作用的迭代对象远不止 list,tuple,str,unicode,dict等,
任何可迭代对象都可以作用于for循环,而内部如何迭代我们通常并不用关心
print d.itervalues()
# <dictionary-valueiterator object at 0x0137F8A0>
关于迭代
如果一个对象说自己可迭代,那我们就直接用 for 循环去迭代它,可见,迭代是一种抽象的数据操作,
它不对迭代对象内部的数据有任何要求。
'''

运行结果:

Lisa
Paul
Adam
Bart
Lisa
Paul
Adam
Bart
85
74
95
59
85
74
95
59
Lisa : 85
Paul : 74
Adam : 95
Bart : 59
Lisa : 85
Paul : 74
Adam : 95
Bart : 59

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

Python 相关文章推荐
Windows下PyMongo下载及安装教程
Apr 27 Python
python过滤字符串中不属于指定集合中字符的类实例
Jun 30 Python
python编程开发之类型转换convert实例分析
Nov 13 Python
Python中字符串的常见操作技巧总结
Jul 28 Python
python正则分析nginx的访问日志
Jan 17 Python
Django中间件工作流程及写法实例代码
Feb 06 Python
Python测试人员需要掌握的知识
Feb 08 Python
python使用Matplotlib画条形图
Mar 25 Python
详解Python循环作用域与闭包
Mar 21 Python
python networkx 包绘制复杂网络关系图的实现
Jul 10 Python
在Mac中PyCharm配置python Anaconda环境过程图解
Mar 11 Python
python 实现端口扫描工具
Dec 18 Python
python矩阵转换为一维数组的实例
Jun 05 #Python
python验证码识别教程之利用滴水算法分割图片
Jun 05 #Python
django反向解析URL和URL命名空间的方法
Jun 05 #Python
python topN 取最大的N个数或最小的N个数方法
Jun 04 #Python
pytorch + visdom 处理简单分类问题的示例
Jun 04 #Python
numpy中以文本的方式存储以及读取数据方法
Jun 04 #Python
浅谈python中np.array的shape( ,)与( ,1)的区别
Jun 04 #Python
You might like
浅析php中抽象类和接口的概念以及区别
2013/06/27 PHP
PHP框架Laravel的小技巧两则
2015/02/10 PHP
php微信支付之APP支付方法
2015/03/04 PHP
PHP网站建设的流程与步骤分享
2015/09/25 PHP
js实现拖拽效果
2015/02/12 Javascript
JavaScript实现简单图片翻转的方法
2015/04/17 Javascript
javascript验证邮件地址和MX记录的方法
2015/06/16 Javascript
JavaScript实现的类字典插入或更新方法实例
2015/07/10 Javascript
JQuery中Ajax()的data参数类型实例分析
2015/12/15 Javascript
Avalon中文长字符截取、关键字符隐藏、自定义过滤器
2016/05/18 Javascript
Angular中使用ui router实现系统权限控制及开发遇到问题
2016/09/23 Javascript
浅谈Angular的$q, defer, promise
2016/12/20 Javascript
nodejs实例解析(输出hello world)
2017/01/03 NodeJs
angularjs实现的前端分页控件示例
2017/02/10 Javascript
webpack教程之webpack.config.js配置文件
2017/07/05 Javascript
Material(包括Material Icon)在Angular2中的使用详解
2018/02/11 Javascript
Node.js API详解之 tty功能与用法实例分析
2020/04/27 Javascript
致Python初学者 Anaconda入门使用指南完整版
2018/04/05 Python
浅谈Pycharm中的Python Console与Terminal
2019/01/17 Python
Python设计模式之策略模式实例详解
2019/01/21 Python
Python面向对象魔法方法和单例模块代码实例
2020/03/25 Python
pandas DataFrame 数据选取,修改,切片的实现
2020/04/24 Python
Python3交互式shell ipython3安装及使用详解
2020/07/11 Python
python regex库实例用法总结
2021/01/03 Python
苹果中国官方网站:Apple中国
2016/07/22 全球购物
美国一家著名的儿童鞋制造商:Stride Rite
2017/01/02 全球购物
亚马逊加拿大网站:Amazon.ca
2020/01/06 全球购物
上海期货面试题
2014/01/31 面试题
环境科学专业个人求职信
2013/12/15 职场文书
高级销售求职信
2014/02/21 职场文书
幼儿园开学通知
2015/04/24 职场文书
政审证明范文
2015/06/19 职场文书
财务管理制度范本
2015/08/04 职场文书
vue完美实现el-table列宽自适应
2021/05/08 Vue.js
html css3不拉伸图片显示效果
2021/06/07 HTML / CSS
Redis安装使用RedisJSON模块的方法
2022/03/23 Redis