python numpy矩阵切片和字符串切片

  • 创建4个6*6的矩阵,分别是矩阵值全为0,矩阵值全为1,矩阵值全为指定值,矩阵值随机;

    import numpy as np
    x1 = np.zeros((6,6))
    x2 = np.ones((6,6))
    x3 = np.full((6,6),255)#可以将255换成别的数字
    x4 = np.random.rand(6,6)
    print(x1)
    print(x2)
    print(x3)
    print(x4)

    运行结果:
    这里写图片描述

  • 读取矩阵x4第二和第三行的第一个和第四个数字:

x4 = np.random.rand(6,6)
print(x4[2:4,1:5])
  • 读取矩阵x4所有行第一个和第四个数字:
x4 = np.random.rand(6,6)
print(x4[:,1:5])
  • 读取矩阵x4所有列的第0个和第3个数字
x4 = np.random.rand(6,6)
print(x4[0:4,:]) #包括下标为0的数字,不包括下标为4的数字
  • 打印矩阵x4从后往前打印
x5 = np.array([(1,2,3),(5,6,8)])
print(x5)
print(x5[::,::-1]) #-1表示步长,也可以设置别的数字
print(x5[::-1])

这里写图片描述

  • 设置步长为2
x5 = np.array([(1,2,3),(5,6,8)])
print(x5[::,::2]) #步长为2

这里写图片描述

  • 只取下标为2的那一列
x5 = np.array([(1,2,3),(5,6,8)])
print(x5)
print(x5[:,2]) #逗号前一个冒号表示所有行

这里写图片描述


补充:
字符串切片和矩阵切片很类似:

s = 'abcdefgh'
print(s)
print(s[::-1]) #-1表示步长
print(s[::2])
print(s[0:5])#下标为0的计算入内,下标为5的不计算入内

输出结果:
abcdefgh
hgfedcba
aceg
abcde

猜你喜欢

转载自blog.csdn.net/syyyy712/article/details/80170069