[已解决]
所以代码如下:
>>> a = [1,3,2]
>>> my_func(a)
>>> a == []
True
其中 my_func 更改列表而不返回它。我知道如何在 C 中使用指针执行此操作,但对 python 解决方案感到非常困惑。
提前致谢!!
编辑:所以我正在做一个基数排序,它有一个辅助函数,辅助函数返回排序后的列表。我希望 main 函数更改原始列表而不是返回它:
def radix(a):
base = ...
temp = radix_helper(a, index, base)
a[:] = []
a.extend(temp)
所以它会运行为:
>>> a = [1,3,4,2]
>>> radix(a)
>>> a
[1,2,3,4]
最佳答案
列表是可变的,因此您所需要做的就是在函数内改变列表。
def my_func(l):
del l[:]
关于Python函数直接改变列表,而不返回它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19736472/