python - 在 Python 中传递指向列表的指针

标签 python list pointers

有什么方法可以将指针传递给列表,这样我就可以 更新列表(列表,数据)

不必做 list = update_list(列表, 数据)

独立于这是否可能,在这种情况下什么是可取的和 Pythonic 的?

最佳答案

我推荐阅读 Semantics of Python variable names from a C++ perspective :

All variables are references

这是对整篇文章的过度简化,但这(以及对 list 是一种可变 类型的理解)应该有助于您理解以下示例的工作原理。

In [5]: def update_list(lst, data):
   ...:     for datum in data:
   ...:         lst.append(datum)
   ...:         

In [6]: l = [1, 2, 3]

In [7]: update_list(l, [4, 5, 6])

In [8]: l
Out[8]: [1, 2, 3, 4, 5, 6]

您甚至可以使用 extend() 方法缩短它:

In [9]: def update_list(lst, data):
   ...:     lst.extend(data)
   ...:       

这实际上可能消除了您对函数的需求。

注意: list是内置的,因此对于变量名来说是一个糟糕的选择。

关于python - 在 Python 中传递指向列表的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8622769/

相关文章:

python - 插值 PANDAS df

python - django forms save() 有一个意想不到的关键字参数?

python如何设置线程限制?

python - 将函数应用于多个数据帧,返回多个 DF 作为输出

c++ - 指向对象的指针将指向 C++ 中对象范围之外的什么

c++ - 这段 C 代码有什么问题?

C清除 double 数组的最佳方法

excel - 通过 VBA 在 Sharepoint 列表中添加和更新单个项目

C#:将部分类转换为父类并将其放入字典

python - 合并功能仅适用于有序列表