gpt4 book ai didi

python - 代码在不需要时自动实现变量

转载 作者:行者123 更新时间:2023-12-01 09:26:48 24 4
gpt4 key购买 nike

我已经隔离了更大代码的以下部分:

import numpy as np

population= np.random.normal(0,1,5)
individuals=population

print(population)

for i in range(len(individuals)):
individuals[i]=0

print(population)

回复:

[-0.1791731  -0.0756427   0.44463943 -0.51173395  0.9121922 ]
[0. 0. 0. 0. 0.]

我不明白为什么结果不相同。

最佳答案

如果你想复制numpy数组的内容,请使用.copy(),你现在正在做的就是复制指向列表的指针。因此,两个变量都指向相同的数据,因此如果其中一个变量发生变化,它们都会发生变化。

import numpy as np

population= np.random.normal(0,1,5)
individuals=population.copy()

print(population)

for i in range(len(individuals)):
individuals[i]=0

print(population)

对于非 numpy 列表,您可以使用 [:] 例如

a = [1,2,3]
b = a[:]

关于python - 代码在不需要时自动实现变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50321978/

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