gpt4 book ai didi

python - numpy 数组切片和 Python 列表切片有什么区别?

转载 作者:太空宇宙 更新时间:2023-11-03 20:30:39 25 4
gpt4 key购买 nike

如果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,:,:,:,]

最佳答案

Python 内置列表与 numpy 数组的一个重要区别:

  • 在内置列表中进行切片时,它会创建一个副本

    X=[1,2,3,4,5,6]
    Y=X[:3] #[1,2,3]

    通过从 0-3 对 X 进行切片,我们创建了一个副本并将其存储在变量 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]

关于python - numpy 数组切片和 Python 列表切片有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57536581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com