python - 将未使用的数据传递给 python 函数 : any loss of performance?

标签 python function

假设我将一个 2D 列表(嵌套列表)传递给一个 python 函数,该函数仅使用该列表的一部分,例如第一个轴。 python 会将整个数组“传输”或复制到函数中吗?我不希望 python 复制或传输整个数据;对于大型数组来说效率很低。理想情况下,我希望仅传递一个指针,或者最多“传输”所需的部分。

def mysum(x):
    s = x[0][0]+x[1][0]
    return s

x = [[1,2], [3,4]]
s1 = mysym(x) 
s2 =mysum([x[i][0] for i in range(2)])

在这个例子中,x[0][1]和x[1][1]是如何处理的?也许使用生成器可以节省内存?

最佳答案

没有发生复制; Python 参数实际上是通过指针传递的,因此无论大小或内容如何,​​传递列表的成本都是相同的。

关于python - 将未使用的数据传递给 python 函数 : any loss of performance?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54280837/

相关文章:

javascript - 功能启用后如何停用

python - Jaccard 文本行之间的相似度 Apache Spark

c - 在 C 中作为参数的函数

python - 从类到字典的变量到 Python 中的函数的键和值

Python Wiki 样式文档生成器

php - 在 jquery 函数中使用 HTML/PHP 代码

javascript - 在jquery函数中设置变量

python - 如何将 SQL 查询结果分配给变量(Robot Framework)以输入应用程序编辑文本?

python - Pandas Python 数据帧关联规则的事务 ID 列。

python - 使用 python 获取 vnet 的所有属性 |列表函数仅给出名称