任何人都可以解释我为什么用下面的python代码得到一些错误?
任何人都可以解释我为什么用下面的python代码得到一些错误? 该循环删除两个元组,但循环结束后仍有一个元组仍在列表中。 最后的印刷不是我期待的结果。任何人都可以解释我为什么用下面的python代码得到一些错误?
>>> liste=[(1,2),(2,3),(3,1),(1,4),(3,4)]
>>> for couple in liste:
... if int(1) in couple:
... liste.remove(couple)
...
>>> print(liste)
[(2, 3), (1, 4), (3, 4)]
在您的for语句之后,您应该在开始if语句之前缩进。
清单当然= [(1,2),(2,3),(3,1),(1,4),(3,4)] 为情侣在名单:
if int(1) in couple:
liste.remove(couple)
打印(清单当然) [(2,3),(1,4),(3,4)]
对不起,但我更新了我的帖子。我不熟悉论坛,但问题是为什么我的循环不从列表中删除一个元组。 – soglomania
它删除了两个元组,但循环结束后仍在列表中的一个元组。 – soglomania
好吧,我不知道。你能否删除我的回答的负面评论? –
你得到什么错误? –
你不需要使用'int(1)';这与'1'是一样的。重复说明如何在迭代时正确地从列表中删除项目。有关帖子,请参阅[循环“忘记”以删除某些项目](https://stackoverflow.com/q/17299581)或[在迭代时从列表中移除](https://stackoverflow.com/q/6500888)这解释了为什么你的尝试不起作用。 –
为了将来的参考,你需要包含你的* expected *输出,而不仅仅是你得到的输出是意想不到的。 –