可迭代对象/迭代器/生成器

本文介绍了Python中的可迭代对象、迭代器和生成器的概念。可迭代对象可以通过isinstance(obj, Iterable)或检查其是否有__iter__方法进行判断。迭代器需要实现__iter__和__next__方法,用于按需生成下一个值,从而节省内存。生成器是一种特殊的迭代器,使用yield关键字可以便捷创建,其在函数调用时不执行,而是返回一个生成器对象,当迭代时才会执行到yield语句并暂停。" 112361481,10547089,Gnuplot科学绘图:将图像转换为table格式与去除边框,"['科学绘图', 'Gnuplot教程', '数据可视化', '图像处理', '3D绘图']
摘要由CSDN通过智能技术生成

可迭代对象

问:如何判断一个对象是不是可迭代对象

答:有两种方法

方法一:isinstance(obj,Iterable)

方法二:看有没有__iter__方法

可以用for操作的对象都是可迭代对象:list,tuple,str,set,dict

for i in [1, 2, 3]:
    print(i)
print(hasattr(list, "__iter__"))
print(hasattr(tuple, "__iter__"))
print(hasattr(str, "__iter__"))
print(hasattr(set, "__iter__"))
print(hasattr(dict, "__iter__"))
print(hasattr(int, "__iter__"))  # False
for i in 1:  # TypeError: 'int' object is not iterable
    print(i)

迭代器

问ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

謹言

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值