目录
什么是迭代?
迭代是访问容器元素的一种方式
可代码对象(Iterable)都有哪些?
列表 字典 元祖 字符串 生成器
如何判断一个对象是否能够被迭代
1,导入 from collections import Iterable或者 from collections.abc import Iterable
2,用isinstance(obj,Iterable)做判断,如果返回结果是True,则可迭代,否则不能够迭代
from collections import Iterable
s="hghdgslgsld"
def diedai(s):
# 判断是否是可迭代的对象
if isinstance(s,Iterable):
for i in s:
print(i)
else:
print("此对象不能够迭代")
diedai(s)
什么是迭代器呢?
在python,能够被全局函数next调用,并且返回下一个值的对象,就是迭代器
可迭代对象不一定是迭代器,迭代器都是可迭代对象
结论:
凡是可作用于 for 循环的对象都是 Iterable 类型;
凡是可作用于 next() 函数的对象都是 Iterator 类型
可迭代对象不一定是迭代器,迭代器都是可迭代对象
集合数据类型如 list 、 dict 、 str 等是 Iterable 但不是 Iterator ,
不过可以通过iter() 函数获得一个 Iterator 对象,传入一个可迭代的对象,获得一个迭代器Iterator
目的是在使用迭代器的时候,减少内存的占用。