给变量赋值后,变量无变化

import numpy as np

def f(x):
    tmp = x[0]  
    print(tmp)
    
    x[0] = tmp + 0.1
    print(tmp + 0.1)
    print(x[0])

通过 f(np.array([1,2])) 调用,结果是

1
1.1
1

通过 f(np.array([1.0,2.0])) 调用,结果是

1.0
1.1
1.1

不明白为什么f(np.array([1,2]))调用时,1.1已经赋值给了x[0],但打印出x[0]还是1 ?

阅读 2.6k
1 个回答

np.array 是存储单一数据类型的多维数组,第一个是整型数组,+0.1后还是整型。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题