如果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,:,:,:,]
答案 0 :(得分:2)
主要区别在于numpy切片可以处理多个维度。
在您的示例curr_frames[idx,:,:,:,]
中,该数组有4个维,并且您通过提供一个维(idx
)的索引进行切片,而:
表示法是检索该维的所有维。 / p>
参考文献:
答案 1 :(得分:1)
从Python的内置列表到numpy数组的重要区别:
在内置列表中切片时会创建一个副本。
X=[1,2,3,4,5,6]
Y=X[:3] #[1,2,3]
通过将X从0-3切片,我们创建了一个副本并将其存储在变量Y中。
我们可以通过更改Y来验证,即使更改Y也不影响X。
Y[0]=20
print(Y) # [20,2,3]
print(X) # [1,2,3,4,5,6]
在numpy中切片时不会创建新副本,但仍引用原始数组
A=np.array([1,2,3,4,5,6])
B=A[:3]
通过在此处切片A并将其分配给B,仍然B引用原始数组A。
我们可以通过更改B中的元素来验证这一点,它也会更改A中的值。
B[0]=20
print(B) # [20,2,3]
print(A) # [20,2,3,4,5,6]