所谓切片,就是从某个数据中提取出需要的部分,提取的值就是某个索引下的值或者索引区间的值。下面这篇文章主要介绍python切片操作方法的相关信息,通过示例代码介绍的非常详细,有需要的朋友可以参考一下。
目录
前言1。切片2的两个索引方向。切片的操作方法3。一些基本操作1。切割单个物体2。切割整个列表3。在某些情况下,步长的正值和负值决定了索引方向4。高级操作1。修改元素值2。替换元素值3。插入元素值4。选择切片位置。摘要文章参考来自:链接。
前言
最近学python切片,有时候稀里糊涂,有时候稀里糊涂。今天终于搞清楚了python切片经常疑惑的地方,并记录下来,以便以后查阅。
一、切片的2种索引方向
如果你掌握了切片方法,你就可以随意切掉所有的目标值。但是,切片目标对象有两个索引方向:正索引和负索引。如下图所示,
以a=[0,1,2,3,4,5,6,7,8,9]为例:
这个字符串A的正下标从左到右,头下标为0,尾下标为9;
它的负下标从右到左,头下标为-1,尾下标为-10。
二、切片的操作方式
要成功完成切片,需要包含两个':'符号和三个参数,即start_index、end_index和step。完整的切片表达式如下:
操作基本表达式:object[start _ index:end _ index:step]
1,开始索引 start_index:表示切片开始的位置,切片结果包含该索引下的值;
2,终止索引 end_index:表示的结束切片位置,切片结果不包含该索引下的值;
3.步长step:可正可负,step为正时,索引方向为正方向,step为负时,索引方向为负方向,代表切削的步长值;省略步长值时,默认值为1。
记住:步长正负决定切片方向,非常重要!!
当start_index和end_index的值未写入时,它们都默认为从索引的端点处开始。
三、一些基本操作
下面的例子都在列表a=[0,1,2,3,4,5,6,7,8,9]中
1、切取单个对象
取切割指数为3的位置对应的值:
2、切取整个列表
不填值的时候,从终点开始。
3、步长step正负值 决定索引方向的一些案例
Step=1,从左到右,包括start_index=1索引本身包含的值,不包括end_index=5索引本身包含的值。
//突出显示的块
[1: 5: ]
[1, 2, 3, 4]
# Step step=1,默认值,这是从左到右的索引方向。
Step=-1,从右到左,仍然不包含终止索引=5本身包含的值。
//突出显示的块
一个[ : 5 :-1]
[9, 8, 7, 6]
#步长step=-1,负指数,
起始索引不写,表示从终点向左,结束索引为5。
索引方向相互矛盾,值为空。
//突出显示的块
答[7 : 2 ]
[]
#这是因为起始索引是7,结束索引是2,方向是从右到左,
但步长步长默认为1,表示正索引,从左到右,两者矛盾值为空。
当指数为负时,一切以step值正负为准,决定索引方向!
//突出显示的块
一个[ -6 :]
[4, 5, 6, 7, 8, 9]
#从start_index=-6开始,步长为1,从左到右
根据前面的研究,切片结果包含起始索引位置的值,但不包含结束索引位置的值。这种情况意味着给出一个具体的结束指标,如下:
//突出显示的块
#给定一个明确的结束索引位置,结果不包含结束索引本身的值。
end_index=5位置的值不包括如下
一个[ : 5 : -1 ]
[9, 8, 7, 6]
该行包含结束索引位置的值。参考上一篇文章进行对比。
也就是指定了具体的终止索引位置,那么取值不包括这个位置上的值,如果没指定,默认终止索引就在端点处,那么取值包括该位置的值
//突出显示的块
[ 5: -1]
[5, 4, 3, 2, 1, 0]
#没有指定具体的结束索引位置,所以默认情况下它在端点结束,
因此,它包含端点处的值,即0。
四、进阶操作
1.修改某个元素值
将修改后的值直接引入索引。
//突出显示的块
a [ 2 ]=[ 'A' ]
打印(一份)
[0,1,['A'],3,4,5,6,7,8,9]
#直接在要修改的索引处赋值,将index value=2的值修改为['A']
2.替换元素值
它从起始索引开始,包括起始索引本身的值,插入该值,然后在插入的值不包含终止索引本身之后立即插入结束索引本身和后续值。将备选索引3和5之间的以下元素作为案例研究。
“起始索引=3”的元素本身不包含“结束索引=5”的元素本身。元素的数量应该是2。
(1)要替换的元素的数量给定为=2
//突出显示的块
a=[0,1,2,3,4,5,6,7,8,9]
打印(一份)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a [ 3: 5]=[ 'b ',' c']
打印(一份)
[0,1,2,' b ',' c ',5,6,7,8,9]
#交替写入,起始索引本身和结束索引之前的索引之间的值被替换,
终止索引本身的值不会被替换。
(2)要替换的元素的数量是2。
//突出显示的块
a=[0,1,2,3,4,5,6,7,8,9]
打印(一份)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a [ 3: 5 ]=[ 'b ',' c ',' d ',' e']
打印(一份)
[0,1,2,' b ',' c ',' d ',' e ',5,6,7,8,9]
#插入写入,插入值从起始索引为3的地方带入。引入插入值后,
将索引值为5的值本身及其后面的值排列在一起就足够了。
(3)要替换的元素的数量给定为2。
//突出显示的块
a=[0,1,2,3,4,5,6,7,8,9]
打印(一份)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a [ 3: 5 ]=[ 'b' ]
打印(一份)
[0,1,2,' b ',5,6,7,8,9]
#替换了起始索引的值=3本身,
结束索引=5,后续值紧跟在插入值之后,
索引=4处的值与索引=3处的值一起被替换。
3、插入元素值
在这里,最混乱的是我不明白替换元素值和插入元素值的区别。现在才恍然大悟,替换的原理如上所述。接下来,插入元素值实际上非常简单。留着就行,终止索引、起始索引是同一个值分配。
(1)插入一个元素
//突出显示的块
a=[0,1,2,3,4,5,6,7,8,9]
打印(一份)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a [6:6 ]=['c ',' d ',' e ',' f ',' g']
打印(一份)
[0,1,2,3,4,' b ',' c ',' d ',' e ',' f ',' g ',5,6,7,8,9]
#插入多个元素,其他原始元素的值和编号不变。
(2)插入多个元素,甚至字符串
//突出显示的块
a=[ 0,1,2,3,4,5,6,7,8,9]
打印(一份)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a [ 3: 3]=['你好,世界!']
打印(一份)
[0,1,2,'你好,世界!', 3, 4, 5, 6, 7, 8, 9]
4、选择切片位置
(1)对索引值为偶数的位置进行切片。
//突出显示的块
a=[ 0,1,2,3,4,5,6,7,8,9]
打印(一份)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a[* 2]
[0, 2, 4, 6, 8]
#选择索引值为偶数的位置进行切片。
(2)选择索引值为奇数的位置进行切片。
//突出显示的块
a=[ 0,1,2,3,4,5,6,7,8,9]
打印(一份)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a [ 1:2]
[1, 3, 5, 7, 9]
#选择具有奇数索引值的位置进行切片。
综上所述,就是今天学习python切片的总结,记录完整!
总结
关于python切片操作的这篇文章到此为止。有关python切片操作的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。