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 1
第一,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
哈哈
|