python 多维数组(比如二维数组)能不能在指定位置进行切片修改

Python015

python 多维数组(比如二维数组)能不能在指定位置进行切片修改,第1张

python进行切片修改还是很容易的。

In [1]: a = [[1,2,3],[4,5,6]]

In [2]: a

Out[2]: [[1, 2, 3], [4, 5, 6]]

取索引0的 0到2的切片(不包含索引2)

In [3]: a[0][0:2]

Out[3]: [1, 2]

对索引0切片赋值

In [4]: a[0][0:2] = [2,3]

In [5]: a

Out[5]: [[2, 3, 3], [4, 5, 6]]

关于数组切片的解析:

① [i]、[-1];

② [:-1]、[:n]、[n:]、[n:m]、[:];

③ [n: m: x]、[: : x]、[: : ]、[-1: : ]、[: -1:]、[: :-1]

④ [a,b]、[a1:a2, b1:b2]

(-1在此相当于len(A)-1,即从首项至下标为 (len(A)-1)-1 的元素)

(-1在此相当于len(A)-1,即从下标为 len(A)-1 的元素至最后一项元素,实际上就是最后一项元素)

n和m都缺省时,范围为整个数组,元素的选择取决于步长

x为-1时,取步长为1的倒序

a表示取第一维的下标为a的元素,b表示取第二维的下标为b的元素

a1:a2表示取第一维的下标为a1至a2-1的数组切片;

b1:b2表示取第二维的下标为b1至b2-1的数组切片。

当A[a1:a2, b1:b2]中有数值缺省时,规则同一维数组。

此外,更高维数组的切片以此类推。

test0719[:,3]是二维数组切片语法,表示取二维数组第3列,第0行~最后一行的元素构成的一维数组,结果为[3,4,5,6,7]。

test0719[:]表示创建一个test0719的副本,它的内容和test0719完全一样,但使用不同的内存空间;[3]表示取这个副本的第三个元素,即[3,4,5,6,7]。