有什么方法可以将指针传递给列表,这样我就可以
更新列表(列表,数据)
不必做
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/