python之切片

Python 中的切片(slicing)是一种强大且灵活的操作,可以用于处理序列类型的数据,如字符串、列表、元组等。切片操作允许你从序列中提取子序列,修改序列的部分内容,或者创建新的序列。以下是一些常见的切片使用场景:

1. 提取子序列

字符串
s = "Hello, World!"
sub_s = s[7:12]
print(sub_s)  # 输出: World
列表
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
sub_lst = lst[2:5]
print(sub_lst)  # 输出: [3, 4, 5]

2. 反转序列

字符串
s = "Hello, World!"
reversed_s = s[::-1]
print(reversed_s)  # 输出: !dlroW ,olleH
列表
lst = [1, 2, 3, 4, 5]
reversed_lst = lst[::-1]
print(reversed_lst)  # 输出: [5, 4, 3, 2, 1]

3. 跳跃切片(步长)

字符串
s = "Hello, World!"
every_second_char = s[::2]
print(every_second_char)  # 输出: Hlo ol!
列表
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
every_third_element = lst[::3]
print(every_third_element)  # 输出: [1, 4, 7]

4. 修改序列的部分内容(仅限可变序列,如列表)

lst = [1, 2, 3, 4, 5]
lst[1:3] = [8, 9]
print(lst)  # 输出: [1, 8, 9, 4, 5]

5. 清空序列

列表
lst = [1, 2, 3, 4, 5]
lst[:] = []
print(lst)  # 输出: []

6. 复制序列

列表
lst = [1, 2, 3, 4, 5]
copy_lst = lst[:]
print(copy_lst)  # 输出: [1, 2, 3, 4, 5]

7. 提取特定范围的元素

列表
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
sub_lst = lst[2:8:2]
print(sub_lst)  # 输出: [3, 5, 7]

8. 删除序列的部分内容

列表
lst = [1, 2, 3, 4, 5]
del lst[1:3]
print(lst)  # 输出: [1, 4, 5]

9. 多维数组的切片(使用 NumPy)

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
sub_arr = arr[:2, 1:]
print(sub_arr)
# 输出:
# [[2 3]
#  [5 6]]

10. 提取文件路径中的文件名和扩展名

file_path = "/path/to/some/file.txt"
file_name = file_path.split('/')[-1]
name, extension = file_name.split('.')
print(name)       # 输出: file
print(extension)  # 输出: txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鱼爱吃火锅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值