浅拷贝的最直接的应用
写一个函数,用来删除有序数组内的重复元素。
def removeDuplicates(nums):
cout=0
for i in nums:
cout += 1
if nums.count(i) > 1:
nums.remove(i)
return len(nums)
a = [1, 1, 0, 1]
def removeDuplicates(nums):
cout=0
for i in nums[:]:
cout += 1
if nums.count(i) > 1:
nums.remove(i)
return len(nums)
a = [1, 1, 0, 1]
下面的代码处的的循环为nums[:],这里用到了浅拷贝,最后cout的值会为4,而上面的那一段代码最终cout值为3次(第一次i为1,然后为0,1)。
浙公网安备 33010602011771号