当前位置: 首页 > news >正文

2iterable iterator 可迭代对象与迭代器

1. iterable 可迭代对象

  • 支持for遍历
  • 不支持next()
  • 内置方法:__iter__

常见可迭代对象

list、tuple、str、set、range、map、filter、open('file')、iterator、generator

转为迭代器

语法:iter(可迭代对象)本质:额外增加__next__方法


2. iterator 迭代器

  • 支持for遍历
  • 支持next()
  • 内置方法:__iter__+__next__
  • 特性:一次性数据,用完即空

常见迭代器

iter ()、map、filter、zip、enumerate、reversed、生成器

会消耗迭代器的操作

next ()、for 循环、list ()、sum ()、max ()、min ()、解包*g


3. generator 生成器(特殊迭代器)

生成器函数

python

运行

def gen(): i = 1 while True: yield i i += 1

调用gen()→ 得到生成器对象

基础使用

python

运行

g = gen() next(g) for x in g: ...

4. non-iterable 不可迭代对象

int、float、bool、None、普通函数对象(非生成器)

5.拆包

x, y, *z= 可迭代对象*z 永远返回列表

6.循环

while

i = 1 while i<5: 另外循环 i+=1

for

flag = True for n in range(a,b): if xxx: flag=False break

for i in range(1,5)不包含5

for i in range(len(list)) -->i相当于索引了

循环遍历一般不执行remove操作,借助切片产生副本,通过本体去删除,list[:]


7. 重点总结

  1. 可迭代对象:支持for遍历 支持unpack拆包
  2. 迭代器:同时支持for遍历 +next()取值
  3. 迭代器数据单向读取,消耗后不可逆
  4. 生成器属于迭代器的子类
  5. iter()函数:将可迭代对象转为迭代器(补充__next__方法)
http://www.jsqmd.com/news/928265/

相关文章:

  • 如何让 AI 读懂你的奇葩需求?针对 Gemini 3.5 优化的 Prompt 进阶指南
  • 鸿蒙原生开发生态全景:从 ArkTS 到纯血鸿蒙
  • mydumper 编译安装与 RPM 部署:从源码到实战的避坑指南
  • 中国建设银行广东茂名分行:警惕AI诈骗的陷阱
  • 跨国链路的物理限制:马蒂斯公式(Mathis‘s Formula)
  • 人形检测数据集, 目标检测/行人检测/安防AI模型训练 密集场景人形检测数据集 / 行人检测数据集训练及应用
  • Protobuf协议解析与微信数据结构设计
  • 开发日志六
  • 对波普尔可证伪主义引发全域系统性灾难的全面批判
  • 百度SEO优化实战指南:2026年百度SEO优化核心技巧全面解析
  • STM32 SAI 通讯原理与 TDM 应用
  • 第四章:暗礁
  • 【个人记账理财助手】手动新增账单功能
  • 2026年最新三亚市金银首饰回收+金条金币+铂金K金 高价回收;实体老店回收黄金 多年口碑 交易放心;TOP5实力权威排行榜推荐+联系方式 - 亦辰小黄鸭
  • 2026最新指南|Codex 接入 MiniMax 模型全攻略:利用 CC Switch 本地路由零基础配置
  • 从一次线上GC故障排查说起:我为什么最终把生产环境从OracleJDK 11换成了Amazon Corretto 11
  • 医疗营销实战:生成式AI在聊天机器人、内容创作与社交媒体中的应用
  • 第1篇 | 政治思维生存逻辑解析
  • 二分查找模板(binary_search)
  • Web应用技术第一次和第二次作业
  • 无人机红外数据集 深度学习框架 无人机高空红外检测系统pyqt5界面 无人机高空红外数据集 无人机高空红外行人车辆检测数据集
  • 【多Agent 协作深度解析】Claude 官方 5 种协调模式的原理、选择与工程实践
  • 微服务架构(MSA)是如何诞生的?
  • 聊天机器人的搭建(一)
  • AI销售助理:1700万美元融资背后的技术架构与落地实践
  • AI内容运营成为大学生就业热门方向,越来越多年轻人开始学习AI营销
  • 单向循环链表超详细精讲 | 带头节点带头指针 + 完整可运行c语言代码
  • 车载AI Agent Harness:行车安全与交互管控
  • 生成式AI赋能无障碍开发:从设计到测试的实践指南
  • 波普尔主义百年灾难清单:系统性尸检报告