如果curr_frames是一个numpy数组,最后一行是什么意思?
curr_frames = np.array(curr_frames)
idx = map(int,np.linspace(0,len(curr_frames)-1,80))
curr_frames = curr_frames[idx,:,:,:,]
Run Code Online (Sandbox Code Playgroud)
从 Python 的内置列表到 numpy 数组的一个重要区别:
当在内置列表中切片时,它会创建一个副本。
X=[1,2,3,4,5,6]
Y=X[:3] #[1,2,3]
Run Code Online (Sandbox Code Playgroud)
通过将 X 从 0-3 切片,我们创建了一个副本并将其存储在变量 Y 中。
我们可以通过改变 Y 来验证,即使我们改变 Y 也不会影响 X。
Y[0]=20
print(Y) # [20,2,3]
print(X) # [1,2,3,4,5,6]
Run Code Online (Sandbox Code Playgroud)
在 numpy 中切片时不会创建新副本,但它仍指原始数组
A=np.array([1,2,3,4,5,6])
B=A[:3]
Run Code Online (Sandbox Code Playgroud)通过在这里切片 A 并将其分配给 B,仍然 B 指的是原始数组 A。
我们可以通过改变 B 中的一个元素来验证这一点,它也会改变 A 中的值。
B[0]=20
print(B) # [20,2,3]
print(A) # [20,2,3,4,5,6]
Run Code Online (Sandbox Code Playgroud)