Discuss / Python / 那个加'END'的代码如果对同一个非空list多次调用也会出现多个'END'

那个加'END'的代码如果对同一个非空list多次调用也会出现多个'END'

Topic source

MingkaiNVM

#1 Created at ... [Delete] [Delete and Lock User]

更改如下:

def add_end(L = None):
    if L is None:
        L = []
        L.append('END')
    elif L[-1] is not 'END':
        L.append('END')
    else:
        pass
    return L

老哥稳002

#2 Created at ... [Delete] [Delete and Lock User]

谢谢,学习了。 其实你这个办法也可以解决前面指向可变对象的那个函数的问题, 只不过那样就不能传一个空列表进去了, 会报错:IndexError: list index out of range 我想着可以这样写 def add_end(L = []): if len(L) == 0: L.append('END') else: if L[-1] is not 'END': L.append('END') return L


  • 1

Reply