鱼C论坛

 找回密码
 立即注册
查看: 791|回复: 2

[已解决]求大佬给讲一下原理

[复制链接]
发表于 2018-6-24 17:35:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
真在学Python,现在才刚看完格式化,好不容易理解就到了序列。就是可迭代对象是什么意思,我看书上说:是重复反馈过程的活动,目的通常是为了接近并达到所需的目标或结果。这不是和循环差不多没,但还是不太理解,大佬们指点一下可以吗?
最佳答案
2018-6-24 17:51:14
本帖最后由 tifa2018 于 2018-6-24 17:57 编辑

通俗的给你举个例子,让你在一个装9个橘子的筐里取橘子,一次取一个,一次取一个,
即每次都在上次的基础上取筐里剩下的,,直到取完第9个橘子,你再想取会报一个StopIteration错误,告诉你没橘子了,这时报这个装9个橘子的筐就是可迭代对象
例子
  1. li = [1,2]
  2. gen = li.__iter__() #用列表的内置__iter__方法将列表变为迭代器对象,之前的列表是可迭代对象,即可以被迭代的对象
  3. print(gen.__next__())  #取列表的第一个元素
  4. print(gen.__next__()) #取列表的第二个元素
  5. print(gen.__next__()) #取第三个,发现没有,报StopIteration错误
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-6-24 17:48:05 | 显示全部楼层
能用于for循环的是可迭代的对象,如列表
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-24 17:51:14 | 显示全部楼层    本楼为最佳答案   
本帖最后由 tifa2018 于 2018-6-24 17:57 编辑

通俗的给你举个例子,让你在一个装9个橘子的筐里取橘子,一次取一个,一次取一个,
即每次都在上次的基础上取筐里剩下的,,直到取完第9个橘子,你再想取会报一个StopIteration错误,告诉你没橘子了,这时报这个装9个橘子的筐就是可迭代对象
例子
  1. li = [1,2]
  2. gen = li.__iter__() #用列表的内置__iter__方法将列表变为迭代器对象,之前的列表是可迭代对象,即可以被迭代的对象
  3. print(gen.__next__())  #取列表的第一个元素
  4. print(gen.__next__()) #取列表的第二个元素
  5. print(gen.__next__()) #取第三个,发现没有,报StopIteration错误
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 16:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表