python——迭代器

迭代的概念

  1. 迭代:可以用for… in从中依次取出元素的过程,称为遍历,也称为迭代。如对一个list遍历所有元素。
  2. 可迭代对象: 可以用for… in语句依次取出元素的对象,即可迭代对象,如字符串、元组、列表、字典,不可迭代对象如整数、浮点数、布尔值。
  3. 判断一个对象是否是可迭代对象
    内置函数isinstance(object,classinfo)可以用来判断可迭代对象。
    • object : 实例对象
    • classinfo : 类型名,直接或间接类名,或它们组成的元组。
import collections
print(isinstance([1, 2, 3], collections.Iterable))
print(isinstance(123,collections.Iterable))
>>>
True
False

迭代器

概念

  1. 迭代器(Iterator):指可访问可迭代对象的工具。
  2. 迭代器函数
    • iter(): 从可迭代对象中返回一个迭代器,其对象必须是一个能提供迭代器ide对象。
    • next(): 从迭代器中获取下一条记录,如果无法再获取到下一条记录,却仍然调用next()函数,则抛出StopIteration异常
  3. 迭代器特点
    • 迭代器只能向前取值,不能倒退或者重置。
    • iter()函数返回一个可迭代对象的迭代器。
    • 迭代器中的元素只支持查, 不支持增删改

如何写迭代器

ls = [1, 2, 3]
A = iter(ls)
while True:
    try:
        x = next(A)
        print(x)
    except StopIteration:
        pass
>>>
1
2
3

迭代器益处

  1. 节省内存空间。
  2. 遍历迭代器的效率更高。
  3. 代码更少,运行更快,
  4. 组合性强,简洁漂亮。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值