def function(nums): for n in nums: if nums.count(n) != 1: nums.remove(n) return len(nums) if __name__ == '__main__': nums=[1,1,1,1] a=function(nums) for i in range(a): print(nums[i])
使用 python3,问题是 function 函数中 for 循环为什么只循环了两次?
![]() | 1 Kylin30 2019-04-07 19:10:53 +08:00 应该是因为你在循环中修改了 nums |
![]() | 3 frostming 2019-04-07 19:20:02 +08:00 |
![]() | 4 Vegetable 2019-04-07 19:24:15 +08:00 ![]() 第一,for 循环可以认为是根据索引的. 第二,remove 会移除第一个匹配项 当 remove 前两个 1 之后,nums[2]就不存在了,所以 for 循环直接结束. |
6 txydhr 2019-04-07 19:48:31 +08:00 via iPad 头像。。。。。 |
![]() | 8 darkjoker 2019-04-08 11:50:51 +08:00 哈哈 |