python 什么是迭代器

本文主要讲解python中的迭代器Iterator。

什么是迭代器

迭代器是访问可迭代对象的工具

迭代器是指用iter(obj)函数返回的对象(实例)

迭代器是指用next(it)函数获取可迭代对象的数据

迭代器函数(iter和next)

iter(iterable)从可迭代对象中返回一个迭代器,iterable必须是能提供一个迭代器的对象

next(iterator) 从迭代器iterator中获取下一了记录,如果无法获取下一条记录,则触发stoptrerator异常

说明:

1.迭代器只能往前取值,不会后退

2.用iter函数可以返回一个可迭代对象的迭代器

示例

1

2

3

4

5

6

7

l = [1,3,5,7]

   it = iter(1) #让l提供一个能访问自己的迭代器

   next(it) #1  从迭代器中取值,让迭代器去获取l中的一个元素

   next(it) #3

   next(it) #5

   next(it) #7

   next(it) # StopIterable 异常

迭代器的用途:

用迭代器可以依次访问可迭代对象的数据

示例:

1

2

3

4

5

6

7

8

9

#以下用迭代器来访问l列表中的元素

  l = [2,3,5,7]

  it = iter(l)

  while True:

      try:

          x = next(it) #获取一个数据并绑定到x

          print(x)  #2,3,5,7

      except StopIteration:

      pass

练习

1

2

3

4

5

6

7

8

有一个集合:

   s = {'唐僧','悟空','悟能','悟净'}

用for语句来遍历所有的元素如下;

    for x in s:

            print(x)

  else:

            print('遍历结束')

将上面的for语句改写为while语句和迭代器实现

1

2

3

4

5

6

7

8

s = {'唐僧','悟空','悟能','悟净'}

it = iter(s)

try:

while True:

x = next(it)

print(x)

except StopIteration:

print('遍历结束')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值