python常用数据类型操作-列表3

方式4(了解

使用迭代器进行遍历

额外讲解:

访问集合的方式-迭代器

1.概念:

        迭代:是访问集合元素的一种方式

                  按照某种顺序逐个访问集合中的每一项

        可迭代对象:

                           判定依据:能作用于for in

                           判定方法:import collections

                                           isinstance(obj, collections, Iterable)

pd = [1, 2, 3, 4, 5, 5, 6, 7, 8, 9]
for pdd in pd:
    print(pdd)
import collections
jg = isinstance(pd, collections.Iterable)
print(jg)

        迭代器:是可以记录遍历位置的对象

                    从第一个元素开始,往后通过next()函数,进行遍历

                    只能往后,不能往前

                    判定依据:能作用于next()函数

                    判定方法:import collections

                                    isinstance(obj, collections, Iterator)


        注意:迭代器也是可迭代对象,所以也作用于for in

2.为什么会产生迭代器:

        仅仅在迭代到某个元素时才处理该元素:在此之前,元素可以不存在

                                                                  在此之后,元素可以被销毁

                                                                   特别适合用于遍历一些巨大的或者无限的集合->例如:菲波那切数列

        提供了一个统一的访问接口:iter(Iterable)->iter(str)

                                                                    ->iter(list)

                                                                    ->iter(tuple)

                                                                    ->iter(dict)

                                                                    ......

3.迭代器简单使用:使用next()函数,从迭代器中取出下一个对象,从第一个元素开始

                            因为迭代器比较常用,所以python中,可以直接作用于for in:内部会自动调用迭代器对象的next()函数

                                                                                                                     会自动处理迭代完毕的错误

4.注意事项:如果取出完毕,再继续取,则会报错->StopIteration

                   迭代器一般不能多次迭代

l = [6, 2, 3, 4, 5]
# 1.创建一个迭代器对象
it = iter(l)
# next()
print(next(it))
print(next(it))
print(next(it))
print(next(it))
print(next(it))


for v in it:
    print(v)

print("------------------------")

for v in it:
    print(v)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值