迭代器Iterator(列表生成器、可迭代的如何生成迭代器)

迭代器介绍

  1. 列表生成器generator:直接生成且可以调用
python 复制代码
a=[i*2 for i in range(10)]
print(a)
print(a[2])
结果:
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
4
  1. 迭代器:
python 复制代码
a=(i*2 for i in range(10))
print(a) #内存地址
# 方式一:使用__next__()获取当前生成
print(a.__next__())  #值为0
print(a.__next__())  #值为2
# 方式二循环产生
b=[]
for i in a:
   b.append(i)
print(b)  #[4, 6, 8, 10, 12, 14, 16, 18]
  1. 可迭代:iterable
    • 所有可以使用for循环的都是可迭代的,如list、tuple、dict、set、str、generator列表生成器等都可迭代
    • 可迭代的都可以变成迭代器
python 复制代码
a=[1,2,3,4,5,6,7,8,9]
b=iter(a)  #把可迭代对象变成迭代器,迭代器是无限大数据流
print(next(b)) #同__next__()
print(isinstance(b, Iterator))  #判断是否是迭代器
相关推荐
朝朝辞暮i1 小时前
C++ 第 31C 课:Subscriber 到底是什么
开发语言·c++·算法
weixin_440730501 小时前
内置函数、json文本、pickle二进制
开发语言·python·json
殷色玫瑰1 小时前
C++ string类详解:常用接口、字符串操作与模拟实现
java·linux·c语言·开发语言·数据结构·c++
李游Leo1 小时前
HarmonyOS 7 + Spatial Recon Kit-C++:3DGS 高斯参数的非有限值隔离与可渲染性门禁【鸿蒙心迹】
开发语言·c++·3d·harmonyos
计算机毕业编程指导师2 小时前
Python大数据毕设:基于Hadoop的病毒式社交媒体趋势和参与度分析系统怎么做 源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·毕业设计·课程设计·社交媒体
计算机毕业编程指导师2 小时前
【计算机毕设选题推荐】基于Spark与Hadoop的AI就业收入区域差异分析系统 源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·python·数据分析·spark·毕业设计·课程设计·ai就业收入
小猴子爱上树2 小时前
跨马翻译:批量图片翻译与视频字幕、智能抠图一站式在线图片翻译工具
大数据·人工智能·python·音视频
时间的拾荒人2 小时前
Qt 文件操作详解:从基础类到读写实战
开发语言·qt·面试