06-python学习笔记-迭代
2017-05-19 20:01
375 查看
2017.05.19
学习资料
迭代-廖雪峰的官方网站
比如dict就可以迭代:
默认情况下,dict迭代的是key。
如果要迭代value,可以用for value in dict.values()
如果要同时迭代key和value,可以用for k, v in d.items()。
再比如,字符串也是可迭代对象,因此,也可以作用于for循环
通过上述的例子,总机出,python使用for循环时,只要作用于一个可迭代对象,for循环就可以正常运行,而我们不太关心该对象究竟是list还是其他数据类型。
上面的for循环里,同时引用了两个变量,在Python里是很常见的。
学习资料
迭代-廖雪峰的官方网站
什么是迭代?
如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。java中的迭代
在java中,迭代list是通过下标完成的for (i=0; i<list.length; i++) { n = list[i]; }
Python中的迭代
通过for……in来完成的,Python的for循环不仅可以用在list或tuple上,还可以作用在其他可迭代对象上。只要是可迭代对象,无论有无下标,都可以迭代。比如dict就可以迭代:
>>> dict={'a':1,'b':2,'c':3} >>> for key in dict: ... print (key) ... b a c >>>
默认情况下,dict迭代的是key。
如果要迭代value,可以用for value in dict.values()
>>> for value in dict.values(): ... print (value) ... 2 1 3 >>>
如果要同时迭代key和value,可以用for k, v in d.items()。
>>> for k,v in dict.items(): ... print (k,v) ... b 2 a 1 c 3 >>>
再比如,字符串也是可迭代对象,因此,也可以作用于for循环
>>> for char in 'stefanie': ... print (char) ... s t e f a n i e
通过上述的例子,总机出,python使用for循环时,只要作用于一个可迭代对象,for循环就可以正常运行,而我们不太关心该对象究竟是list还是其他数据类型。
判断一个对象是否是可迭代对象
通过collections模块的Iterable类型判断:>>> from collections import Iterable >>> isinstance('stefanie',Iterable)#判断字符串是否可以迭代 True >>> isinstance([1,2,3], Iterable)#list可以迭代 True >>> isinstance(123, Iterable)#整数不可以迭代 False
Python内置的enumerate函数
enumerate函数可以把一个list变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身,实现类似Java中那样的下标循环。>>> for i, value in enumerate(['A', 'B', 'C']): ... print (i,value) ... 0 A 1 B 2 C
上面的for循环里,同时引用了两个变量,在Python里是很常见的。
相关文章推荐
- python 学习笔记-循环,迭代和namespace
- Python学习笔记 - 迭代Iteration
- Python开发学习笔记(10) - 迭代
- Python学习笔记06-类与文件和异常
- Python3学习笔记(四)--迭代
- 【Python】学习笔记——-4.2、迭代
- python学习笔记十 类文件对象 分类: python基础学习 python 2013-06-18 12:03 254人阅读 评论(0) 收藏
- 初学Python的学习笔记3----递归函数、切片、迭代和列表生成式
- python学习笔记--实用技巧之可迭代对象的元素分解
- python2.7学习笔记(6) ——高级特性:切片、迭代、列表生成式、生成器
- Python3学习笔记06-循环设计、循环对象、函数对象、错误处理、动态类型
- Python学习笔记(三)——迭代
- Python学习笔记 - 4.迭代(while,for)
- 模块——Python学习笔记06
- python学习笔记(6)-高级特性(二)-迭代
- python学习笔记 迭代和列表生成式
- 【Python学习笔记】python高级特性:迭代
- 机器学习实战笔记(Python实现)-06-AdaBoost
- Python高级特性(切片 迭代 列表生成式 生成器 迭代器)学习笔记
- 【Python2.7 学习笔记】Python 基础(三)迭代 + 列表生成式