Python函数直接改变列表,而不返回它

标签 python function

[已解决]

所以代码如下:

>>> 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/

相关文章:

Python 依赖导入

python - PyQt5 中的 WebSocket 服务器,显然是正确的,但我无法连接

python - 使用 Python 通过 Internet 下载文件

vba - 调用 MS Access 查询,该查询从 Delphi ADO 组件调用模块中的 VBA 函数

python - 上下文管理器作为类还是函数?

python - python中的OpenCV透视变换

python - 如何使用 pyplot 正确显示图像的红色、绿色和蓝色 (rgb) channel

arrays - 如何为具有不同参数的函数声明函数指针数组?

java - 从另一个类调用类函数。错误