1.禁止函数修改列表
在使用函数传递列表的时候,有时候列表里的内容没有使用完,但是不想使列表变成全空的,这个时候可以在调用的时候使用创建列表副本,具体格式如下:
function_name(list_name[:])
举个例子:
def print_models(unprint_models,completed_models):
while unprint_models:
current_models=unprint_models.pop()
print("Printing model :"+current_models)
completed_models.append(current_models)
def show_models(compltedmodels):
print("The fellowing models have been printed!")
for compltedmodel in compltedmodels:
print(compltedmodel)
unprintmodel=['Apple','Wahaha','Meat']
compltedmodel=[]
print_models(unprintmodel,compltedmodel)
print(unprintmodel)
show_models(compltedmodel)
可以看出输出结果原列表unprintedmodel为空。 如果在调用的时候使用的是unprintedmodel[:],则结果如下,原列表依然存在。 但是并不建议每次都这样使用,因为当列表比较大的时候,这样会浪费时间和内存。
|