arr[:n],arr[n:],arr[::-1],arr2[:,0],arr2[2,:]的用法

'''
arr[:n],arr[n:],arr[::-1],arr2[:,0],arr2[2,:]的用法
'''


import numpy as np
#b = a[i:j] 表示复制a[i]到a[j-1],以生成新的list对象,当i缺省时,默认为0,即 a[:3]相当于 a[0:3]
a=[3,6,9,0,8,7]
b=a[:3]#复制数组a 下标0--下标3-1的值,生成新的数组,给b;
print(b)#[3, 6, 9]
print(a)#[3, 6, 9, 0, 8, 7]
print("-"*20)
c=a[1:]#冲下标1开始,赋值a数组中的所有数据;给C
print(c)#[6, 9, 0, 8, 7]
print(a)
print("-"*20)
d = a[1:5:2] # 从下标1 开始,到下标5, 步进为2(缺省值为:1), 复制a数组中的数据,给d;  a[i:j:1]相当于a[i:j]
print(d)#[6, 0]
print("-"*20)
e=a[::-1] #a[i:j:s]   当s<0时:i缺省时,默认为-1; j缺省时,默认为-len(a)-1, 等于说将数组a,倒序复制一遍给 e
print(e)#[7, 8, 0, 9, 6, 3]
print("-"*30)
arr2=[["1","2","3","4"],["11","22","33","44"],["111","222","333","444"],["1111","2222","3333","4444"]]
arr2=np.array(arr2)
arr3=arr2[:,0]#np中的用法, 等于是提取二维数组中,每行数据下标为0的; 生成新的数组,给arr3  ;
# arr3=arr2[:,1] #如果改成1, 就是提取 下标为1的数据,生成新的数组 ['2' '22' '222' '2222']
print(arr3)#['1' '11' '111' '1111']
print("-"*30)
arr4=arr2[2,:]#为复制 arr2 二维数据中, 下标为2的一维数组中的数据(['111' '222' '333' '444']),给arr4
print(arr4)#['111' '222' '333' '444']

猜你喜欢

转载自blog.csdn.net/nbbscdd/article/details/128485519
Arr