print(a[0::2])、a[::2]、[:,2]、[1:,-1:]、a[::-1]、[ : n]、[m : ]、[-1]、[:-1]、[1:]等的含义

文章目录

一维数组(冒号:)

1、一个参数:a[i]

2、两个参数:b=a[i:j]

3、三个参数:格式b = a[i:j:s]

4、一个例子

二维数组(逗号,)

取元素 X[n0,n1]

切片 X[s0:e0,s1:e1]

切片特殊情况 X[:e0,s1:]

代码实例

numpy数组切片操作

一维数组(冒号:)

通过冒号分隔切片参数 start:stop:step 来进行切片操作:

import numpy as np

a=[1,2,3.4,5]

print(a)

[ 1 2 3 4 5 ]

1、一个参数:a[i]

如 [2],将返回与该索引相对应的单个元素。

2、两个参数:b=a[i:j]

b = a[i:j] 表示复制a[i]到a[j-1],以生成新的list对象

i缺省时默认为0,即 a[:n] 代表列表中的第一项到第n项,相当于 a[0:n]

j缺省时默认为len(alist),即a[m:] 代表列表中的第m+1项到最后一项,相当于a[m:5]

当i,j都缺省时,a[:]就相当于完整复制a

print(a[-1])     取最后一个元素

结果:[5]

print(a[:-1])     除了最后一个取全部

结果:[ 1 2 3 4 ]

print(a[1:])     取第二个到最后一个元素

结果:[2 3 4 5]

3、三个参数:格式b = a[i:j:s]

这里的s表示步进,缺省为1.(-1时即翻转读取)

所以a[i:j:1]相当于a[i:j]

当s<0时,i缺省时,默认为-1. j缺省时,默认为-len(a)-1

所以a[::-1]相当于 a[-1:-len(a)-1:-1],也就是从最后一个元素到第一个元素复制一遍。所以你看到一个倒序的东东。

print(a[::-1])     取从后向前(相反)的元素

结果:[ 5 4 3 2 1 ]

print(a[2::-1])     取从下标为2的元素**翻转读取**

结果:[ 3 2 1 ]

4、一个例子

传送门

C. Substring Game in the Lesson

题解:如果 l 能移动,那么 r 一定可以随便移动,如果 l 不动,那么 r 一定不能动

那么我们现在只要考虑 l 的移动即可

考虑找到位置 k 之前的最左边的最小的字符,如果存在,先手可以直接把 l 移过去,那么后手就没得走了

如果不存在,那么先手显然没得移动

所以直接根据每个位置左边最小的字符是否小于当前位置的字符即可判断胜负

m='z'

for c in input():

print('MAinkne'[c>m::2])

m=min(m, c)

二维数组(逗号,)

X[n0,n1]是通过 numpy 库引用二维数组或矩阵中的某一段数据集的一种写法。

类似的,X[n0,n1,n2]表示取三维数组,取N维数组则有N个参数,N-1个逗号分隔。

取元素 X[n0,n1]

这是最基本的情况,表示取 第0维 的第 n0 个元素,继续取 第1维 的第 n1个元素。如 X[2,2] 表示第0维第2个元素[20,21,22,23],然后取其第1维的第2个元素即 22;

切片 X[s0:e0,s1:e1]

这是最通用的切片操作,表示取 第0维 的第 s0 到 e0 个元素,继续取 第1维 的第 s1 到 e1 个元素(左闭右开)。如 X[1:3,1:3] 表示第0维第(1:3)个元素[[10,11,12,13],[20,21,22,23]],然后取其第1维的第(1:3)个元素即 [[11,12],[21,22]];

切片特殊情况 X[:e0,s1:]

特殊情况,即左边从0开始可以省略X[:e0,s1:e1],右边到结尾可以省略X[s0:,s1:e1],取某一维全部元素X[:,s1:e1],事实上和Python 的 序列切片规则是一样的。

常见的 X[:,0] 则表示 第0维取全部,第1维取0号元素;

代码实例

import numpy as np

X = np.array([[0,1,2,3],[10,11,12,13],[20,21,22,23],[30,31,32,33]])

#X 是一个二维数组,维度为 0 ,1;第 0 层 [] 表示第 0 维;第 1 层 [] 表示第 1 维;

# X[n0,n1] 表示第 0 维 取第n0 个元素 ,第 1 维取第 n1 个元素

print(X[1,0])

# X[1:3,1:3] 表示第 0 维 取 (1:3)元素 ,第 1 维取第(1:3) 个元素

print(X[1:3,1:3])

# X[:n0,:n1] 表示第 0 维 取 第0 到 第n0 个元素 ,第 1 维取 第0 到 第n1 个元素

print(X[:2,:2])

# X[:,:n1] 表示第 0 维 取 全部元素 ,第 1 维取 第0 到第n1 个元素

print(X[:,:2])

# X[:,0]) 表示第 0 维 取全部 元素 ,第 1 维取第 0 个元素

print(X[:,0])

输出结果:

10

[[11 12]

[21 22]]

[[ 0  1]

[10 11]]

[[ 0  1]

[10 11]

[20 21]

[30 31]]

[ 0 10 20 30]

原文:https://blog.csdn.net/weixin_43629813/article/details/101122997

参考博客:https://blog.csdn.net/Arry_Lee/article/details/83108442

推荐博客:https://blog.csdn.net/qq_41375609/article/details/95027651

python numpy数组切片_python中numpy数组切片实验解释相关推荐

  1. python向量计算库教程_python中numpy基础学习及进行数组和矢量计算

    前言 在python 中有时候我们用数组操作数据可以极大的提升数据的处理效率,类似于R的向量化操作,是的数据的操作趋于简单化,在python 中是使用numpy模块可以进行数组和矢量计算. 下面来看下 ...

  2. python中numpy的用法_Python中numpy多维数组的用法

    继上篇讲过numpy如何构建多维数组之后,今天我们来学习numpy多维数组的用法. 加法和减法操作要求操作双方的维数信息一致,均为M*N为数组方可正确执行操作. a = np.arange(4) 输出 ...

  3. python的empty函数_python中numpy.empty()函数的用法

    在使用python编程的过程中,想要快速的创建ndarray数组,可以使用numpy.empty()函数.numpy.empty()函数所创建的数组内所有元素均为空,没有实际意义,所以它也是创建数组最 ...

  4. python的numpy是什么_python中numpy是什么

    我们都知道,Python是一种脚本语言.但是你知道numpy吗?事实上,它是一个开源的科学计算的Python库.NumPy是Python中的科学计算的基本方案.这是一个Python库,它提供了多维数组 ...

  5. python的empty函数_python中numpy.empty()函数实例讲解

    在使用python编程的过程中,想要快速的创建ndarray数组,可以使用numpy.empty()函数.numpy.empty()函数所创建的数组内所有元素均为空,没有实际意义,所以它也是创建数组最 ...

  6. 8 list切片_Python中14个切片操作,你常用哪几个?

    切片(Slice)是一个取部分元素的操作,是Python中特有的功能.它可以操作list.tuple.字符串. Python的切片非常灵活,一行代码就可以实现很多行循环才能完成的操作.切片操作的三个参 ...

  7. python算法和数据结构_Python中的数据结构和算法

    python算法和数据结构 To 至 Leonardo da Vinci 达芬奇(Leonardo da Vinci) 介绍 (Introduction) The purpose of this ar ...

  8. python array转换成list_python中numpy数组与list相互转换实例方法

    python的使用之所以方便,原因之一就是各种数据类型各样轻松的转换,例如numpy数组和list的相互转换,只需要函数方法的使用就可以处理.numpy数组使用numpy中的array()函数转换为l ...

  9. numpy 数组抽取_Python 关于NumPy的用法介绍

    NumPy是Python数值计算最重要的基础包,大多数提供科学计算的包都是用NumPy的数组作为构建基础.NumPy本身并没有提供多么高级的数据分析功能,理解NumPy数组以及面向数组的计算,将有助于 ...

最新文章

  1. ace unlock 苹果解锁_【曝光】苹果iPhone最新专利:全屏指纹解锁,保留人脸识别...
  2. HDU4549 M斐波那契数列(矩阵快速幂+费马小定理)
  3. php 字节序,Linux_Linux中网络字节序和主机字节序,主机字节序就是我们平常说的 - phpStudy...
  4. 使用 System.Net.Http.Json 简化 HttpClient 的使用
  5. Ruby 28 岁生日快乐!
  6. flex布局怎么设置子元素大小_Web前端(三):前端布局
  7. Linux chkconfig命令
  8. 耐盐碱海水稻对话何登骥 丰收节贸促会-万祥军:荒地成良田
  9. 2022程序员都需要知道的 6 个挺火的开源项目
  10. error PRJ0003 : 生成“C:\WINDOWS\system32\cmd.exe”时出错
  11. virtualbox中ubuntu虚拟机安装增强功能
  12. android 自启动权限,引导用户开启开机自启动权限
  13. FIPS 140-3与140-2的差异-2
  14. python股票查询可视化代码
  15. IBM ITS中国区总经理鞠立老师讲女性的职业规划与发展
  16. Node.js Cannot find module 'xxx' 问题解决
  17. 狂神Javascript笔记
  18. 2021年全球最具吸引力的雇主:谷歌、微软、苹果占据前三名
  19. 一家之言—通信专业IT男的弊端
  20. 北邮计算机学院课程学习资源汇总

热门文章

  1. 浏览文件服务器,浏览文件服务器
  2. 路径规划之DWA类算法简述
  3. 问答| 为什么car-like robot运动中存在最小转弯半径?
  4. php+打开图片二进制文件,php接收二进制文件转换成图片
  5. 将vue项目打包部署到云服务器(傻瓜式宝塔面板)
  6. 什么是事件的三要素?
  7. 伪元素选择器使用场景-字体图标(CSS3)
  8. 组网胖模式_胖AP和瘦AP的区别,组网优缺点分析
  9. python关系运算符实例_python编程中最常用的比较运算符实例
  10. php树形结构数组转化