假设我将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]?也许使用生成器可以节省内存?
答案 0 :(得分:2)
没有复制发生; Python参数实际上是通过指针传递的,因此传递list
的代价是相同的,无论其大小或内容如何。