我正在尝试编写一个递归函数,它将获取一个数字列表和两个整数 a 和 b,并返回该列表的副本 - 但在此副本中,作为参数给出的数字列表中的所有 a 都将替换为湾。我已经写了这段代码,但是从 shell 运行后,它显示“无”(没有双引号)
def replace(thelist,a,b):
assert type(thelist)==list, `thelist` + ' is not a list'
assert type(a)==int, `a` + ' is not an integer'
assert type(b)==int, `b` + ' is not an integer'
if len(thelist)==0:
return []
return ([b] if thelist[0]==a else [thelist[0]]).append(replace(thelist[1:],a,b))