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 相关文章推荐
Python使用scrapy采集时伪装成HTTP/1.1的方法
Apr 08 Python
详解Python中的array数组模块相关使用
Jul 05 Python
Python多进程并发与多线程并发编程实例总结
Feb 08 Python
Python3.x爬虫下载网页图片的实例讲解
May 22 Python
Python实现查询某个目录下修改时间最新的文件示例
Aug 29 Python
Python运行不显示DOS窗口的解决方法
Oct 22 Python
在python中将字符串转为json对象并取值的方法
Dec 31 Python
python设定并获取socket超时时间的方法
Jan 12 Python
python爬虫之自制英汉字典
Jun 24 Python
Python 的 __str__ 和 __repr__ 方法对比
Sep 02 Python
python如何构建mock接口服务
Jan 28 Python
判断Python中的Nonetype类型
May 25 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 404错误页面实现代码
2009/06/22 PHP
学习php笔记 字符串处理
2010/10/19 PHP
phpstudy默认不支持64位php的解决方法
2017/02/20 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
提高 DHTML 页面性能
2006/12/25 Javascript
jquery validate.js表单验证的基本用法入门
2010/05/13 Javascript
判断目标是否是window,document,和拥有tagName的Element的代码
2010/05/31 Javascript
Jquey拖拽控件Draggable使用方法(asp.net环境)
2010/09/28 Javascript
基于JavaScript自定义构造函数的详解说明
2013/04/24 Javascript
JQuery中SetTimeOut传参问题探讨
2013/05/10 Javascript
固定表格行列(expression)在IE下适用
2013/07/25 Javascript
用js的document.write输出的广告无阻塞加载的方法
2014/06/05 Javascript
Node.js抓取中文网页乱码问题和解决方法
2015/02/10 Javascript
分析了一下JQuery中的extend方法实现原理
2015/02/27 Javascript
基于jQuery下拉选择框插件支持单选多选功能代码
2016/06/07 Javascript
Vue.js 2.0 和 React、Augular等其他前端框架大比拼
2016/10/08 Javascript
vue router动态路由下让每个子路由都是独立组件的解决方案
2018/04/24 Javascript
详解webpack2异步加载套路
2018/09/14 Javascript
React性能优化系列之减少props改变的实现方法
2019/01/17 Javascript
详解如何提升JSON.stringify()的性能
2019/06/12 Javascript
vue使用原生swiper代码实例
2020/02/05 Javascript
详解webpack的clean-webpack-plugin插件报错
2020/10/16 Javascript
在nodejs中创建child process的方法
2021/01/26 NodeJs
跟老齐学Python之编写类之一创建实例
2014/10/11 Python
在Python的列表中利用remove()方法删除元素的教程
2015/05/21 Python
20行python代码的入门级小游戏的详解
2019/05/05 Python
Python3直接爬取图片URL并保存示例
2019/12/18 Python
20行Python代码实现视频字符化功能
2020/04/13 Python
求职个人评价范文
2014/04/09 职场文书
努力学习演讲稿
2014/05/10 职场文书
机关作风建设自查报告及整改措施
2014/10/21 职场文书
模范班主任事迹材料
2014/12/17 职场文书
银行客户经理岗位职责
2015/04/09 职场文书
军事理论课感想
2015/08/11 职场文书
防震减灾主题班会
2015/08/14 职场文书
创业计划书之酒吧
2019/12/02 职场文书