gpt4 book ai didi

python - 迭代如何在函数中工作

转载 作者:行者123 更新时间:2023-11-28 22:54:18 26 4
gpt4 key购买 nike

这是我的问题。很抱歉之前的帖子根本不清楚。

举个例子:

import numpy as np

x=np.arange(1,100,1)
y=z=x*0

def func(h,g):
for i in range(1,50):
h[i]=i+1
g[i]=i*2

func(z,y)
print z-y

在这个例子中 zy 给出了相同的答案,但为什么会这样呢?在函数中它不应该给出相同的答案?

最佳答案

您正在将 yz 设置为都指向同一个对象。这一行:

y=z=x*0

创建一个新对象 x*0,然后设置 y 和 z 来引用它。因此,函数中的 hg 是同一个对象,并且更新会相互覆盖。

如果你想有两个独立的对象,独立创建它们:

y=x*0
z=x*0

关于python - 迭代如何在函数中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18214850/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com