016讲 动动手2 sum函数
numbers =result = 0
for each in numbers:
if isinstance(each, str):
numbers.remove(each)
result = sum(numbers)
print(result)
请问这个代码为什么只执行一次remove操作呀? 在遍历列表的时候改变遍历的列表,会导致少遍历一些元素。
改成这样就好了:
numbers =
result = 0
for each in numbers[:]:
if isinstance(each, str):
numbers.remove(each)
result = sum(numbers)
print(result) 2楼说的对,Python语言是动态的,所以就会少遍历,用numbers[:]把numbers的模型拷贝一下就OK了 qiuyouzhi 发表于 2020-7-7 11:51
在遍历列表的时候改变遍历的列表,会导致少遍历一些元素。
改成这样就好了:
好的,谢谢~
页:
[1]