我是靠谱客的博主 忧心舞蹈,最近开发中收集的这篇文章主要介绍Python3迭代器及其使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

# 生成器都是迭代器,迭代器不一定是生成器
# 字符串、列表、元组、字典、集合都可以被for循环,说明他们都是可迭代的
L = [1, 2, 3, 4, 5]

# L.__iter__() 尽量不用 底层内置函数
d = iter(L)
print(d)  # <list_iterator object at 0x000000000069A358>

# 什么是迭代器
# 满足两个条件 1 有iter方法 2 有next方法
print(next(d))  # 1

# for 循环内部做的三件事情
#     1 调用可迭代对象的iter方法返回一个迭代器对象
#     2 不断调用迭代器对象的next方法
#     3 处理stopIteration

from collections import Iterable

print(isinstance([1, 2, 3], list))  # 判断数据类型

L = [1, 2, 3, 4, 5]
d = iter(L)
print(d)
print(isinstance(L, list))  # 判断是不是 列表
print(isinstance(d, Iterable))  # 判断是不是迭代器 注意引用包

要点:

  •  生成器都是迭代器,迭代器不一定是生成器
  • 字符创,列表,元组,字典,集合都可以被for循环,说明他们都是可迭代对象
  • 若可以调用__iter__() 都是可迭代对象。但是一般使用iter() 函数
  • 满足迭代器的两个条件:1.有iter() 。2. 有next()
  • isinstance() 类型判断。isinstance(a,Iterable) 判断a 是否是可迭代对象。

 

最后

以上就是忧心舞蹈为你收集整理的Python3迭代器及其使用的全部内容,希望文章能够帮你解决Python3迭代器及其使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部