我想在函数中做一些列表修改,然后在调用函数后继续使用修改后的列表,这是更好的方法:
def modify(alist):
alist.append(4)
alist = [1,2,3]
modify(alist)
alist.append(5)
或者这个:
def modify(alist):
alist.append(4)
return alist
alist = [1,2,3]
alist = modify(alist)
alist.append(5)
第一句话是不是有点语调不好?你知道吗
Tags:
从函数返回列表是安全的。你知道吗
通常一个函数应该返回它生成的结果。但是,当您传递一个列表时,您要么需要复制该列表,要么接受它将被修改的事实;返回修改后的列表是多余的。如果提供默认参数,也会导致问题,因为默认参数也会被修改。你知道吗
我通常倾向于将参数设为只读,除非很明显它们会被修改。你知道吗
我的建议是:
由于您要在中修改列表,因此返回已修改的相同列表没有多大意义。你知道吗
您的inplace变异从引用传播到
list
,因此最好省去return
语句,如果函数中某个地方发生错误,而不是return
修改的对象,则引发异常。你知道吗相关问题 更多 >
编程相关推荐