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

可迭代对象、迭代器对象

可迭代对象Iterable

# 遍历(迭代):一次从对象中把一个个元素取出来的过程。
# 数据类型: str、list、tuple、dict、set等

# 可迭代对象的条件
# 1.对象实现了__iter__()方法
# 2.__iter__()方法返回了迭代器对象

# for 循环工作原理
# 1.先通过__iter__()获取可迭代对象的迭代器
# 2.对获取到的迭代器不断调用__next__()方法获取一个值并将其复制给临时变量i

isinstance():判断一个对象是否是可迭代对象是否是一个已知的数据类型# 导入模块
from collections.abc import Iterable
# # #isinstance(o,t)o:对象,t:类型 可以是直接或者间接类名、基本类型或者元组
print(isinstance(123,Iterable))
print(isinstance('123',Iterable))

迭代器

含义:迭代器是一个可以记住遍历位置的对象,迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。

是一个可以记住遍历位置的对象:在上次停留的位置继续去做一些事情

li = [1,2,3,4,5]
# for i in li:
# print(i)
#iter():获取可迭代对象的迭代器
#next():一个个去取元素,取完元素后会引发一个异常
li=[1,2,3,4, 5]
#1.创建迭代器对象
li2 =iter(li)print (li2)
# # 取下一条数据
print (next (li2))
print (next (li2))
print (next (li2))
print (next (li2))
print (next (li2))
#3.取完元素后,再使用nextO会引发StopIteration异常
# print (next (li2))# 第二种方式
li2 = li.__iter__()
print ("1i2:",li2)


文章转载自:

http://UGBYyRVr.dwztj.cn
http://x2HXiJMc.dwztj.cn
http://v0nsNDKi.dwztj.cn
http://iy6MYklK.dwztj.cn
http://Wer7e84t.dwztj.cn
http://ZNy5JHIK.dwztj.cn
http://TyS0bfzk.dwztj.cn
http://bofgJByP.dwztj.cn
http://uh9jPQ13.dwztj.cn
http://pcLctRwR.dwztj.cn
http://jDFjUOGL.dwztj.cn
http://exWqFKsc.dwztj.cn
http://yaXiNela.dwztj.cn
http://acZ9btgY.dwztj.cn
http://fhHjdEzA.dwztj.cn
http://abwSiHJE.dwztj.cn
http://kzmltroV.dwztj.cn
http://U2MNHHRX.dwztj.cn
http://J1eq8qLs.dwztj.cn
http://FcQywhUc.dwztj.cn
http://GjVh7Mvn.dwztj.cn
http://YPZZ8ebl.dwztj.cn
http://8QCuRGd3.dwztj.cn
http://KbTwtDal.dwztj.cn
http://wxsLFTdR.dwztj.cn
http://ArkBK434.dwztj.cn
http://d3fT5zU0.dwztj.cn
http://OI4XaHC2.dwztj.cn
http://sD2dnL6K.dwztj.cn
http://MnS7naOV.dwztj.cn
http://www.dtcms.com/a/386337.html

相关文章:

  • GEO 优化系统开发:内容优化策略的技术设计与落地实践​
  • leetcode347.前k个高频元素
  • GPU 服务器:为科研算力需求保驾护航
  • 解决Cursor 远程ssh连不上服务器的问题
  • AR技术赋能火灾防控:消防员的“透视眼”与“预测脑”
  • 佩京ar虚拟互动换装软件+换装一体机
  • 11 神经网络研究的一些问题
  • Python快速入门专业版(三十二):匿名函数:lambda表达式的简洁用法(结合filter/map)
  • MATLAB中基于 S-V模型进行毫米波信道建模与仿真
  • 深入分析LangSmith使用及自动化评估
  • fastapi 中间件的使用
  • 2025最新超详细FreeRTOS入门教程:第十九章 FreeRTOS与中间件集成(TCPIP、MQTT、文件系统)
  • Vue2实战场景:图表组件 + Grid 布局
  • Linux:基于阻塞队列的生产者消费模型
  • springboot+vue (ruoyi-vue前后端分离)集成钉钉登录
  • 从单一辅助到深度协作!GPT-5-Codex 改写软件开发工作流
  • JavaScript——document对象
  • 图观 流渲染场景编辑器
  • 探索大语言模型(LLM):Windows系统与Linux系统下的Ollama高级配置(修改模型地址、Service服务以及多卡均衡调用)
  • PowerBI实战-制作带有同比及趋势线的双柱状图
  • Spring 介绍
  • 使用爱思助手(版本8.16)将ipa安装到ios
  • 大模型应用开发2-SpringAI实战
  • 【面板数据】上市公司校企合作论文发表数据集(2002-2025年)
  • MySQL的底层数据结构:B+树
  • 【Linux】LRU缓存(C++模拟实现)
  • 冲击成本敏感度曲线驱动的拆单频率参数动态调优机制
  • Typera+Gitee+PicGo 配置markdown专用图床
  • 正则化:机器学习泛化能力的守护神
  • GCKontrol对嵌入式设备FPGA设计流程的高效优化