如何解决为什么我的for循环未遍历列表的每个元素?
我设法解决了问题,但是我不理解问题本身。是的,我很幸运地修复了它,但是如果我不明白为什么会遇到这个问题,它就不会有用。
在对象函数内运行for循环时,此循环始终跳过列表的一个值,就像将for循环步骤设置为2一样。
下面是我的第一个代码的非常非常简化和改编的版本,但是它很好地说明了它的工作原理。
class Food:
def __init__(self,my_list):
self.my_list = my_list
def food_iterator(self):
while True:
for element in self.my_list:
print(element)
Food(['pasta','chicken','porc','cheese','lasagna']).food_iterator()
在创建原始列表的副本时:
class Food:
def __init__(self,my_list):
self.my_list = my_list
def food_iterator(self):
my_list_copy = [m for m in self.my_list])
while True:
for element in my_list_copy:
print(element)
Food(['pasta','lasagna']).food_iterator()
它运行得很好。但是我不明白为什么以前不起作用,为什么现在不起作用...
真的很高兴听到您的想法!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。