func(s): s[:] = whatever after mutating return s
x = a list of strings
print func(x)
print x
您实际上不需要返回任何内容:
def func(s):
s[:] = [1,2,3]
x = [1,2]
print func(x)
print x # -> [1,2,3]
这完全取决于您的实际操作,在实际更改传入的原始对象/列表时,追加或列表的任何直接突变都将反映在函数外部。如果您正在执行创建新对象的操作,并且您想要传入设置的列表中反映的更改s[:] =..
将更改原始列表。