1、迭代:
迭代是通过重复执行代码来处理相似数据集的过程,而本次迭代的处理数据依赖于上一个结果继续做,而上一次产生的结果就是下一个结果的初始状态。任何暂停都不是迭代。例如:
(1)非迭代例子
loop = 0
while loop < 3:
print("Hello world!")
loop += 1
(2)迭代例子
loop = 0
while loop < 3:
print(loop)
loop += 1
示例 1 仅输出“Hello world!”通过循环3次,输出数据不依赖于之前的数据,所以不是迭代。
2、可迭代对象(Iterable):
可迭代对象不是指具体的数据类型,而是指存储元素的容器对象,容器中的元素可以通过__iter__()方法或__getitem__()方法访问。
(1)__iter__方法的作用是允许对象通过for ... in循环遍历,而__getitem__()方法的作用是允许对象通过“实例名[index]访问实例中的元素]”。这两个方法的目的是 Python 实现了一个通用的外部接口,可以访问可迭代对象的内部数据。
(2) 可迭代对象不能独立迭代。在 Python 中,迭代是通过 for...in 完成的。任何可迭代对象都可以通过 for... in... 循环直接访问。这个语句实际上做了两件事:第一件事是调用 __iter__() 来获取一个可迭代对象,第二件事是调用 __next__()。
3、常见的可迭代对象包括:
a.集合数据类型,如list、tuple、dict、set、str等;
b.生成器(generator),包括生成器和带yield的生成器函数(generator function)。
4、如何判断一个对象是可迭代对象呢?
可以通过collections模块的Iterable类型判断,具体判断方法如下:
from collections import Iterable
isinstance('', Iterable) #返回True,表明字符串也是可迭代对象
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ Python函数参数的定义是什么?10/22
- ♥ geany如何配置python的语言版本?10/25
- ♥ 如何用python3输出打印变量?12/27
- ♥ python中elif语句报错是什么原因09/29
- ♥ Python编码处理中str和Unicode的区别和使用12/16
- ♥ python显示和判断回文数的方法01/06
内容反馈