外链论坛

 找回密码
 立即注册
搜索
查看: 61|回复: 5

在python编程中什么是切片?怎么样经过切片快速获取数据结构中元素

[复制链接]

3023

主题

312

回帖

9909万

积分

论坛元老

Rank: 8Rank: 8

积分
99099108
发表于 2024-8-17 21:54:27 | 显示全部楼层 |阅读模式

专栏举荐

专栏
每日五分钟玩转python基本编程
作者:幻风的AI之路
18.8币
416人已购
查看
专栏
每日5分钟快速玩转设备学习算法
作者:幻风的AI之路
20币
1,635人已购
查看

切片

一维数组的索引和切片

咱们经过有些例子来帮忙咱们理解数组中的切片操作。

g[3:7]暗示获取数组中的索引下标3到6

g[:7:2]= g[0:7:2]暗示获取数组中的索引0到6的,而后以2为步长选择元素

g[::-1] 利用负数下标翻转数组

8. 多维数组的切片和索引

这儿咱们先创建了一个一维数组,而后运用reshape函数将一维数组的改为三维数组,维度为(2,3,4),2,3,4的对应关系如上所示。这儿重视一点的是g.reshape办法返回更改维度的数组,然则修改数组本身,咱们能够reshape之后的数组将其赋值给一个变量,这般咱们能够看到reshape之后的数组,本例便是reshape之后将其赋值给了g,而后g便是(2,3,4)的数组了。

reshape之后赋值的:

reshape之后赋值的:

此刻咱们对g数组进行切片操作:

此刻咱们逐一对上面的切片操作进行解析,咱们先来看一下咱们切片的数组:

切片是根据维度来逐一切片的,本例中咱们的数组的维度是(2,3,4),咱们切片的时候,是先切第1维(2),再切第二维(3),最后切第三维(4),这是有次序的。

切片的时候:暗示所有,暗示所在维度的所有。

区别维度之间切片用逗号隔开,例如a[0,0,0]逗号隔开了第1个维度咱们要0,第二个维度咱们还要0,第三个维度咱们还是要0,因此最后a[0,0,0]为0:

解析4:g[0,:,:]暗示第1维度切0,第二个维度全切了(全要了),第三个维度全要了,当多个冒号能够用一个省略号(...)来代替,因此呢上面的代码等价于g[0,…]。

解析7: g[0,1,::2]暗示第1维度切0,第二维度切1,第三维度所有并且以2为步长(::2这种组合重视)。

解析8:…暗示多个冒号,因此8咱们能够写为g[:,:,1]

解析11第1维切0,便是

第二维切:,暗示所有,便是

第三维-1暗示倒着数第1便是

那样最后结果为

解析12:g[0,::-1,-1],这个第1维度切0,此时为

第二维度为反转(::-1的功效便是反转),此时为

第三维-1,暗示倒着数第1

因此最后的结果便是array([11, 7, 3])

解析13:g[0,::2,-1]

第1维切0,此时为

第二维的操作是步长为2的获取,此时为:

第三维为倒数第1

解析14:g[::-1],这个暗示第一维执行反转操作,第二维和第三维的操作并写,便是操作,操作那样便是获取所有的意思。

9. 改变数组的维度

ravel暗示将数组展平

咱们能够看出来ravel将数组展平,它会返回一个展平的数组,单并修改数组本身,这个和reshape是同样的。

flatten函数有展平数组的功效

reshape()函数能够修改矩阵的维度,单并修改矩阵本身

resize和reshape同样能够修改数组的维度,然则resize能够修改数组本身

和resize类似咱们能够运用shape来改变矩阵的维度:

运用shape要重视两点,第1点=,第二点传递一个元组()

能够运用transpose完成矩阵的转置:

总之咱们记住两点,仅有resize和shape(元组)是对数组本身修改





上一篇:已更新!母婴护理师证书的报名有什么过程?证书有什么用处?啥时候报名?
下一篇:Python进阶:全面诠释高级特性之切片
回复

使用道具 举报

0

主题

1万

回帖

1

积分

新手上路

Rank: 1

积分
1
发表于 2024-9-7 12:56:58 | 显示全部楼层
期待楼主的下一次分享!”
回复

使用道具 举报

0

主题

1万

回帖

1

积分

新手上路

Rank: 1

积分
1
发表于 2024-9-10 13:30:57 | 显示全部楼层
“沙发”(SF,第一个回帖的人)‌
回复

使用道具 举报

3129

主题

3万

回帖

9996万

积分

论坛元老

Rank: 8Rank: 8

积分
99968654
发表于 2024-9-28 09:33:39 | 显示全部楼层
回顾过去一年,是艰难的一年;展望未来,是辉煌的一年。
回复

使用道具 举报

3083

主题

3万

回帖

9909万

积分

论坛元老

Rank: 8Rank: 8

积分
99098788
发表于 2024-10-13 19:58:11 | 显示全部楼层
这篇文章真的让我受益匪浅,外链发布感谢分享!
回复

使用道具 举报

2983

主题

3万

回帖

9910万

积分

论坛元老

Rank: 8Rank: 8

积分
99109240
发表于 2024-10-19 13:40:12 | 显示全部楼层
外链发布论坛学习网络优化SEO。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|外链论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-20 23:13 , Processed in 0.118893 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.