python数据结构 移除元素

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

img


请踊跃发表意见,只采纳源代码,该问题只限于学习交流使用.

def removeElement(a,b):
    for i in range(0,len(a)):       #把数组第一个元素设置为该数组出现的第一个不是val的值
        if a[i] != b:
            a[0] = str(a[i])
            a[i] = b                #把原数组中出现的第一个不是val的元素设置为val
            break                   #跳出第一个for循环
    for i in range(1,len(a)):
        if a[i] != b:
            a[1] = str(a[i])        #把数组第二个元素设置为数组i不是val的值
            a[0] = ''.join(a[0:2])  #把数组第一个元素更新为:数组前两个元素拼接成的字符串
    return(a[0],len(list(str(a[0]))))
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632