1
目前去除值的一个实例,我想删除,如果它在两个列表中存在被引导通过循环的值,因为这样的:Python的 - 在两个列表
for value in Word1:
if value in Word2:
Word1.remove(value)
Word2.remove(value)
然而,这个代码是返回['a', 'b', 'b']
为Word1:['a', 'a', 'a', 'b', 'b', 'b']
和Word2:['a', 'a', 'b', 'b']
当我期望它返回['a', 'b']
。什么导致这个问题? Pythontutor的可视化似乎没有帮助我。
在遍历他们你正在改变列表的长度 - 这是一个非常糟糕的举动。请注意,使用'set'方法会显着简化这一点。 – jonrsharpe