给定一个数组nums和一个值val,原地移除所有数值等于val的元素,返回移除后数组的新长度和新数组。不要使用额外的数组空间。
例如,给定nums=[3,2,2,3],val=3,函数应该返回新的长度2,并且nums中的前两个元素均为2,不需要考虑数组中超出新长度后面的元素。要求设计满足题目条件的如下方法:
nums = [int(i) for i in input().split()]
val = int(input())
def removeElement(nums, val):
while val in nums:
nums.remove(val)
return len(nums)
res = removeElement(nums, val)
print(res)
print(*nums)
可以使用del直接删除,但是要留意一下del完之后当前下标的指向