import numpy as np

#一维数组基础索引与切片

arr = np.arange(10)
print(arr)
print(arr[5])
print(arr[5:8])
arr[5:8]=1
print(arr)
print(arr[:])

#结论
#(1)numpy的数组是从0开始索引的
#(2)用方括号可以对数组进行索引和切片。索引是找某值,切片是把某一片的值找出来。
#(3)方括号索引[a,b],不包含b。
#(4)方括号索引,[:],则索引数组所有的值

arr2 = arr[0:2]
arr2[1] = 666
print(arr)
arr3 = arr[0:2].copy()
arr3[1] = 111
print(arr)

#结论
#(1)数组的切片是原数组的视图。就算将其切片赋给另外一个变量,改变这个变量的值,原数组也会发生改变。
#    这是因为numpy为了节省内存,若复制数据,会占用较大的内存。
#(2)若想要数组切片的拷贝,则要用copy()函数

[0 1 2 3 4 5 6 7 8 9]
5
[5 6 7]
[0 1 2 3 4 1 1 1 8 9]
[0 1 2 3 4 1 1 1 8 9]
[  0 666   2   3   4   1   1   1   8   9]
[  0 666   2   3   4   1   1   1   8   9]

在这里插入图片描述

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐