-
问题描述
今天用Python写程序的时候,写了两个for循环,结果发现循环次数没有达到预期(也就是两个循环的次数相乘的循环次数)
-
解决方法
通过调试发现,当外循环进行第一次的时候,内循环正常工作,可是,当外循环进行第二次以后,内循环无法正常工作,根本跳不到内循环里面去,经过一番调试,终于有了发现,究其原因还是循环对象出了问题,因为我的第二个循环对象是生成器,我在使用生成器的初衷是让为了节约空间,可是,忽略了生成器的一个特性,那就是生成器只能运行一次,完整的运行一次以后,生成器就完成了它光荣的使命,不再起作用了,这也就导致了我们的双重循环程序出现了循环次数的 ‘异常’,解决方法也简单,用list()将生成器变成列表就行了。
本文探讨了Python中使用生成器作为循环对象时遇到的问题,即生成器只能完整运行一次的特点导致双重循环程序出现循环次数异常的情况,并给出了将生成器转换为列表的解决方案。

524

被折叠的 条评论
为什么被折叠?



