Python数组切片_python print数组

Python数组切片_python print数组文章目录numpy数组切片操作一维数组1、一个参数:a[i]2、两个参数:b=a[i:j]3、三个参数:格式b=a[i:j:s]二维数组numpy数组切片操作通过冒号分隔切片参数start:stop:step来进行切片操作:一维数组importnumpyasnpa=[1,2,3.4,5]print(a)[12345]1、一个参数:a[i]如[2],将…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺


numpy数组切片操作

列表用
[ ] 标识,支持字符,数字,字符串甚至可以包含列表(即嵌套)。,是 python 最通用的复合数据类型。

关于索引

从左到右索引默认 0 开始,从右到左索引默认 -1 开始。
在这里插入图片描述

一维数组(冒号:)

通过冒号分隔切片参数 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='abcdefg'
print(s[0:4] #输出abcd
print(s[0:4:2]) #步长为 2(间隔一个位置)来截取,输出ac

当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 是一个二维数组,维度为 01;第 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/Arry_Lee/article/details/83108442

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

python变量类型(数字,字符串,列表,元组,字典):
菜鸟教程

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/193481.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 动态规划解决方案最长公共子序列问题(开启)

    动态规划解决方案最长公共子序列问题(开启)

  • jdk卸载错误

    jdk卸载错误错误提示:已经安装了这个版本提示是否卸载;   在开始运行中输入regedit打开注册表,定位到HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall错误提示:无法使用此产品的安装源。请确认安装源存在,并且您可以访问它。   优化大师和360也无法卸载,删注册表HKEY_LOCAL_MAC

  • IDEA 2020年最新激活码

    亲测,2020年3月10日 有效期到2022年 请复制以下内容: 激活码见: IDEA最新激活码

  • idea中创建一个web项目

    idea中创建一个web项目第一步:新建空的java项目在idea项目下,新建一个model,这个model就可以是一个java项目。然后会弹出一个框,选择新建java项目:点击【next】之后进入下一步,取model项目名称:写好名称和存放的路径之后,点击【finish】完成java的model项目创建:以上就是一个空的java项目的创建。第二步:在java项目的基础上创建web项目右击刚创建的java项目,添加web项目所需架构,如下图:点击【AddFrameworksSupport】之后,会弹出一个

  • Http 和 Tcp 的区别

    Http 和 Tcp 的区别Http是包装数据的,Tcp是传输数据的。都是先Tcp建立连接,然后传输数据,如果没用http,对方无法识别你传输的数据是什么,所以需要http包装数据,其他应用层协议也可以。

  • c语言时间戳转换日期格式_c语言时间转换为时间戳

    c语言时间戳转换日期格式_c语言时间转换为时间戳时间戳是计算机中记录时间的一种方法,某一时刻的时间戳指的是从1970年1月1日0时0分0秒开始到该时刻总共过了多少秒。请编程任意输入一个整数,然后计算出它表示的是哪一天哪一刻。问题分析输入:任意整数n(0≤n≤2147483647),表示从1970年1月1日0时0分0秒到该时刻过了多少秒。输出:y年m月d日H时M分S秒,y、m…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号