如何从外部更改本地 NumPy 数组(位于函数内部)的元素?
How to change an element of a local NumPy array ( which is inside a function ) from outside?
我正在做一个游戏项目,想使用 NumPy 数组创建一个游戏板。所以我为此定义了一个函数 board() 。但是当我试图改变板的一个元素时,它并没有改变。
代码
import numpy as np
def board():
game = np.zeros((6, 6))
return game
board()[1, 1] = 6
print(board()[1, 1]) # Expected Output = 6, Instead it gives 0
我想局部变量和全局变量有问题。我在这个网站上搜索了它,但没有找到预期的解决方案。我知道如何更改函数内部调用的全局变量,但我不知道如何更改局部变量。任何帮助将不胜感激。
请参阅上面@MisterMiyagi 的第一条评论以获取解释。
import numpy as np
def board():
game = np.zeros((6, 6))
return game
b = board()
b[1, 1] = 6
>>> b[1, 1]
6.0
import numpy as np
def board(coordinates: tuple = None, value: int = None):
game = np.zeros((6, 6))
if coordinates and value:
game[coordinates] = value
return game
print(board((1, 1), 6))
我正在做一个游戏项目,想使用 NumPy 数组创建一个游戏板。所以我为此定义了一个函数 board() 。但是当我试图改变板的一个元素时,它并没有改变。
代码
import numpy as np
def board():
game = np.zeros((6, 6))
return game
board()[1, 1] = 6
print(board()[1, 1]) # Expected Output = 6, Instead it gives 0
我想局部变量和全局变量有问题。我在这个网站上搜索了它,但没有找到预期的解决方案。我知道如何更改函数内部调用的全局变量,但我不知道如何更改局部变量。任何帮助将不胜感激。
请参阅上面@MisterMiyagi 的第一条评论以获取解释。
import numpy as np
def board():
game = np.zeros((6, 6))
return game
b = board()
b[1, 1] = 6
>>> b[1, 1]
6.0
import numpy as np
def board(coordinates: tuple = None, value: int = None):
game = np.zeros((6, 6))
if coordinates and value:
game[coordinates] = value
return game
print(board((1, 1), 6))