numpy python中grid[index]和grid[index,:]有什么区别

wlwcrazw  于 2023-03-30  发布在  Python
关注(0)|答案(1)|浏览(200)

在这个https://colab.research.google.com/drive/1gS2aJo711XJodqqPIVIbzgX1ktZzS8d8?usp=sharing中,他们使用了np.max(qtable[new_state, :])
但是我做了一个实验,我不明白:的必要性。我的实验显示相同的值,相同的数组形状

import numpy as np

N = 10
grid = np.array([[np.array(k) for i in range(N)] for k in range(N)])
print(grid)
index = 5
d = grid[index]
e = grid[index, :]
print(d)
print(e)
x7yiwoj4

x7yiwoj41#

正如您所注意到的,qtable[new_state, :]qtable[new_state]确实是等价的。
如果我自己写代码,我也会使用:,因为我相信它使代码更加自我文档化,向我和未来的代码读者(也许六个月后的我)标记有第二维,我正在获取它的所有值。
冒号还明确表示这是一个NumPy Array切片操作,而不是一个简单的列表元素操作。
但这只是一个风格和文档的问题(我不知道是否会对性能产生影响,但我认为不会有)。

相关问题