Python 中序列的切片操作

6 篇文章 0 订阅
1 篇文章 0 订阅

切片(Slicing)是Python中处理序列(如列表、元组、字符串等)时非常重要的一种操作。使用切片可以方便地提取序列的某一部分。本文将通过一些代码示例来详细解释Python中的切片操作及其用法。

1. 列表切片操作

首先,我们以列表为例进行切片操作:

 

结果1[2, 3, 4]
原列表[1, 2, 3, 4, 5, 6, 7, 8, 9] 

从以上结果可以看出,切片操作不会修改原始列表,而是返回一个新的列表。

2. 元组切片操作

元组和列表的切片操作非常相似,切片操作后会生成一个新的元组:

 

结果2(0, 1, 2, 3, 4, 5, 6)

 这里表示提取整个元组,因为省略了 startstop,默认会从头到尾进行切片。

 3. 字符串切片操作

字符串同样支持切片操作。以下是一个从头开始,每隔2个字符提取一个字符的例子:

 

 

结果3"0246"

4. 反转字符串

通过设置步长为 -1,可以轻松反转一个字符串:

结果4"6543210" 

5. 带负步长的列表切片

当步长为负数时,切片将从右向左进行。以下是一个从索引3到索引1(不含)的例子:

 

结果5[3, 2] 

6. 元组的反向切片

同样,元组也可以使用负步长进行反向切片:

 

结果6(6, 4, 2, 0) 

总结

  • 基本切片语法[start:stop:step],其中 start 表示起始索引(包含),stop 表示结束索引(不包含),step 表示步长。
  • 省略规则start 省略时,默认为 0;stop 省略时,默认为序列长度;step 省略时,默认为 1。
  • 负数步长:反向切片,如 [::-1] 可以反转序列。

源码: 
 

#对list切片,从1开始,4结束,步长1
my_list = [1,2,3,4,5,6,7,8,9]
#步长为1可以省略不写
result1 = my_list[1:4]
print(f"结果1:{result1},原列表:{my_list}")

#对tuple进行切片,从头开始,到最后结束,步长1
my_tuple=(0,1,2,3,4,5,6)
result2=my_tuple[:]
print(f"结果2:{result2}")

#对字符串进行切片,从头开始,到最后解释,步长为1
my_str="01234567"
result3=my_str[::2]
print(f"结果3:{result3}")

# 对str进行切片,从头开始到最后结束,步长为-1
my_str2="0123456"
result4=my_str2[::-1]
print(f"结果4:{result4}")

#对列表进行切片,从3开始,到1结束,步长为-1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ·
my_list5=[0,1,2,3,4,5,6]
result5=my_list5[3:1:-1]
print(f"结果5:{result5}")

#对元组进行切片,从头开始,到尾结束,步长-2
my_tuple=(0,1,2,3,4,5,6)
result6=my_tuple[::-2]
print(f"结果6:{result6}")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值