python切片的相关知识

a = input("请输入一个四位数:")
print(a[::-1])

1.python中切片的概念

pytho中的切片指的是在字符串、元组或列表中截取指定范围的数据。(在某个对象中截取部分值)

2.切片的格式

切片表达式的完整格式为:[start_index:end_index:step]

其中start_index表示的是切取的开始,取值时从0开始包含取值点本身,点它可以省略,省略时表示从对象的端点开始切取并且是根据step的正负确定开始索引的端点。

>>>a = 1,2,3,4,5,6,7,8,9
>>>a[:5]
(1,2,3,4,5)

end_index表示的是切取的终止点,他不包括取值点本身,省略时表示从对象的另一端点终止索引。

>>>a = 1,2,3,4,5,6,7,8,9
>>>a[3:]
(4,5,6,7,8,9)

step的值可以取正或负,取正时表示正向取值(从左往右),为负数时表示的是方向取值(从右往左)。该值控制的是切取方向和取值的曾量,默认增量为1(从左往右以曾量1取值)。

>>>a = 1,2,3,4,5,6,7,8,9
>>>a[2:9:2]
(3,5,7,9)

3.详细例子

切取单个值或全部对象

>>>a = 1,2,3,4,5,6,7,8,9
>>>a[0]
(1)
>>>a[-9]
(9)
>>>a[:]
(1,2,3,4,5,6,7,8,9)

切取时start_index,end_index,step的正负与切取值的关系

当step为正的时候表示从左往右取,如果start_index和end_index的正负取值不符合逻辑就不能正常切取出元素。

>>>a = 1,2,3,4,5,6,7,8,9
>>>a[-4:3]
()     #由于step默认为1,切取方向为从左到右,a[-4:3]的切取时start_index的值在end_index的值的左边取值方向与step冲突无法取值
>>>a = 1,2,3,4,5,6,7,8,9
>>>a[:6:-1]
(9,8)    #step为负,start_index不设置时表示从后端点开始取到end_index的位置

总结:start_index到end_index的取向与step有关系,一点要注意前两者的逻辑关系。

切片可以连续切取

>>>a = 1,2,3,4,5,6,7,8,9
>>>a[:6][2:5][-2]
(4)
#上述过程相当于:
>>>a[:6]=(1,2,3,4,5,6)
>>>a[:6][2:5]=(3,4,5)
>>>a[:6][2:5][-2]=(4)

start_index,end_index和step可以用表达式来表示

>>>a = 1,2,3,4,5,6,7,8,9
>>>a[1+2:2*3:3%2]
(4,5,6)

切片其他常用情况

替换、插入和修改元素

#替换元素
>>>a = [1,2,3,4,5,6,7,8,9]
>>>a[3:6] = ['A','B']
>>>print(a)
[1, 2, 3, 'A', 'B', 7, 8, 9]

#插入元素
>>>a = [1,2,3,4,5,6,7,8,9]
>>>a[3:3] = ['A','B','C']
>>>print(a)
[1, 2, 3, 'A', 'B', 'C', 4, 5, 6, 7, 8, 9]

#修改元素
>>> a = [1,2,3,4,5,6,7,8,9]
>>> a[3] = ['A']
>>> print(a)
[1, 2, 3, ['A'], 5, 6, 7, 8, 9]

取对象的奇和偶

>>> a = [1,2,3,4,5,6,7,8,9]
>>> a[::2]
[1, 3, 5, 7, 9]
>>> a[1::2]
[2, 4, 6, 8]

我所了解的切片就这些了,本人刚学python如有错误请各位指出,让我们共同学习,共同进步。

(部分内容摘自:Python热爱者)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值