鱼C论坛

 找回密码
 立即注册
查看: 2568|回复: 3

关于迭代器

[复制链接]
发表于 2021-4-22 16:45:08 | 显示全部楼层 |阅读模式

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

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

x
string = "FishC"
it = iter(string)
while True:
    try:
        each = next(it)
    except StopIteration:
        break
    print(each)


string = 'FishC'
it = iter(string)
while True:
     try:
         each = next(it)
         print(each)
     except StopIteration:
         break
有什么区别吗,为什么我第一段代码输出不了,第二段可以呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-22 17:04:10 | 显示全部楼层
本帖最后由 肖-肖 于 2021-4-22 17:06 编辑

这样能输出:不对我试了下我这里你这两个都能输出
string = "FishC"
it = iter(string)

while True:
    try:
        each = next(it)
        print(each)
    except StopIteration:
        break
输出为
F
i
s
h
C
>>> 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2021-4-22 22:32:30 | 显示全部楼层
肖-肖 发表于 2021-4-22 17:04
这样能输出:不对我试了下我这里你这两个都能输出

输出为

对的,我也可以输出
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-23 11:36:47 | 显示全部楼层
while True:
     try:
         each = next(it)
         print(each)
     except StopIteration:
         break

while  True:  会一直执行里面的语句
try .. except try下面的语句如果发生错误,则立即跳转到except 下面执行。
原则上,两端段代码都是如果不发生错误,执行打印操作
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-15 23:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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