任何人都可以解释我为什么用下面的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)] 
+0

你得到什么错误? –

+0

你不需要使用'int(1)';这与'1'是一样的。重复说明如何在迭代时正确地从列表中删除项目。有关帖子,请参阅[循环“忘记”以删除某些项目](https://*.com/q/17299581)或[在迭代时从列表中移除](https://*.com/q/6500888)这解释了为什么你的尝试不起作用。 –

+0

为了将来的参考,你需要包含你的* expected *输出,而不仅仅是你得到的输出是意想不到的。 –

在您的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)]

+0

对不起,但我更新了我的帖子。我不熟悉论坛,但问题是为什么我的循环不从列表中删除一个元组。 – soglomania

+0

它删除了两个元组,但循环结束后仍在列表中的一个元组。 – soglomania

+0

好吧,我不知道。你能否删除我的回答的负面评论? –