Python学习笔记(八)
来源:互联网 发布:nba2k16自建球员数据 编辑:程序博客网 时间:2024/05/17 22:53
迭代:
在Python中,如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们成为迭代(Iteration)。
注意: 集合是指包含一组元素的数据结构,我们已经介绍的包括:
1. 有序集合:list,tuple,str和unicode;
2. 无序集合:set
3. 无序集合并且具有 key-value 对:dict
range函数生成list:
>>> range(1,5) #代表从1到5(不包含5)[1, 2, 3, 4]>>> range(1,5,2) #代表从1到5,间隔2(不包含5)[1, 3]>>> range(5) #代表从0到5(不包含5)[0, 1, 2, 3, 4]
>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']>>> for index, name in enumerate(L):... print index, '-', name... 0 - Adam1 - Lisa2 - Bart3 - Paul
enumerate() 函数在for循环中同时绑定索引index和元素name。但是,这不是 enumerate() 的特殊语法。实际上,enumerate() 函数把:['Adam', 'Lisa', 'Bart', 'Paul']
变成了类似:[(0, 'Adam'), (1, 'Lisa'), (2, 'Bart'), (3, 'Paul')],因此,迭代的每一个元素实际上是一个tuple。
dict 对象有一个 values() 方法,这个方法把dict转换成一个包含所有value的list,这样,我们迭代的就是 dict的每一个 value:
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }print d.values()# [85, 95, 59]for v in d.values(): print v# 85# 95# 59还有一个 itervalues() 方法,用 itervalues() 方法替代 values() 方法,迭代效果完全一样。但是 itervalues() 方法不会转换,它会在迭代过程中依次从 dict 中取出 value,所以 itervalues() 方法比 values() 方法节省了生成 list 所需的内存。
dict 对象的 items() 方法:
items() 方法把dict对象转换成了包含tuple的list,我们对这个list进行迭代,可以同时获得key和value
>>> d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }>>> print d.items()[('Lisa', 85), ('Adam', 95), ('Bart', 59)]
>>> for key, value in d.items():... print key, ':', value... Lisa : 85Adam : 95Bart : 59items() 也有一个对应的 iteritems(),iteritems() 不把dict转换成list,而是在迭代过程中不断给出 tuple,所以, iteritems() 不占用额外的内存。
0 0
- python 学习笔记(八)
- Python学习笔记(八)
- Python学习笔记(八)
- Python学习笔记(八)
- Python学习笔记(八)异常
- python学习笔记之(八)
- python学习笔记(八)类(classes)
- python基础学习笔记(八)
- Python学习笔记八:模块
- python基础教程学习笔记八
- OpenCV python 学习笔记(八)
- Python学习笔记(八)-- Python字典(Dictionary)
- Python学习笔记(八)----Python While循环语句
- Python学习笔记(八):Python 异常处理
- [Python]Python学习笔记(八)——问题
- Python学习笔记(八)——Python 异常处理
- 学习Python (八)
- 学习笔记(八)
- MFC中滑块控件(Slide Control)的使用
- My Fedora trouble[8]
- mysql级联操作(实例)
- dataTables:从服务器上ajax分页
- 数据流图的几个设计原则
- Python学习笔记(八)
- 使用scrapy 0.24 制作的小说爬虫 - 回不了的
- UVa 11524 - InCircle
- oracle中触发器中:new和:old 的使用方法
- [HDU]1864最大报销额[dp][贪心?怎么可能!]
- 图 dfs遍历连通块
- 搭建ADG遭遇各种问题
- [译]通过wp-config来定制你的WordPress - 9IPHP-就爱PHP - 开源
- 快速寻找满足条件的两个数