python数据结构 移除元素

给定一个数组nums和一个值val,原地移除所有数值等于val的元素,返回移除后数组的新长度和新数组。不要使用额外的数组空间。
例如,给定nums=[3,2,2,3],val=3,函数应该返回新的长度2,并且nums中的前两个元素均为2,不需要考虑数组中超出新长度后面的元素。要求设计满足题目条件的如下方法:

img


请大家提出一下自己的看法以及意见,该结论只供学习交流使用!

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完之后当前下标的指向