python切片及负数下标

[a:b:c] 表示 [a,b) 区间内 的 逐级递增 c 的数集

例如: 列表: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 ]

[1:18:3] 表示的就是 1 ~ 17 中的数字从 1 开始逐个递增 3 的数的集合 [ 1, 4, 7, 10, 13, 16 ]

 

负数下标篇

列表 (长度为10)          
普通下标0123456789
负数下标-10-9-8-7-6-5-4-3-2-1

 

### Python 中字符串的下标切片使用方法 #### 字符串的创建 在 Python 中,可以通过单引号 (`'`) 或双引号 (`"`) 来定义字符串。例如: ```python str1 = 'Hello, World!' str2 = "Hello, World!" ``` 这两种方式功能相同,可以根据实际需求选择其中之一[^1]。 --- #### 字符串的下标访问 字符串中的每一个字符都可以通过其位置(即下标)单独访问。需要注意的是,在 Python 中,字符串的下标是从 **0** 开始计数的。这意味着第一个字符的位置是 `0`,第二个字符的位置是 `1`,依此类推。 如果尝试访问超出范围的下标,则会引发 `IndexError` 错误。此外,还可以使用负数作为下标来从右向左访问字符串,其中 `-1` 表示最后一个字符,`-2` 表示倒数第二个字符,以此类推[^2]。 以下是几个例子: ```python s = "Python" print(s[0]) # 输出: P (第1个字符) print(s[2]) # 输出: t (第3个字符) print(s[-1]) # 输出: n (最后1个字符) print(s[-3]) # 输出: h (倒数第3个字符) ``` --- #### 字符串的切片操作 切片是一种用于提取子字符串的操作。语法形式为 `string[start:end:step]`,具体说明如下: - `start`: 起始索引,默认为 `0`。 - `end`: 结束索引(不包含该位置),默认为字符串长度。 - `step`: 步长,默认为 `1`。 当省略某些参数时,Python 会自动填充默认值。下面是一些常见的切片用法及其效果: ##### 基本切片 ```python s = "abcdefg" # 提取从索引1到索引4之间的部分(不包括索引4) print(s[1:4]) # 输出: bcd # 如果只指定起始索引,结束索引默认为字符串末尾 print(s[3:]) # 输出: defg # 如果只指定结束索引,起始索引默认为0 print(s[:3]) # 输出: abc ``` ##### 反向切片 通过设置步长为负数,可以从右至左反向获取子字符串: ```python s = "abcdefg" # 使用步长为-1反转整个字符串 print(s[::-1]) # 输出: gfedcba # 提取从索引5到索引1之间的一部分并逆序排列 print(s[5:0:-2]) # 输出: fed ``` ##### 非连续切片 利用正整数值的步长可以实现非连续选取字符的功能: ```python s = "abcdefghi" # 每隔两个字符取出一个字符 print(s[::2]) # 输出: acegi # 从索引2开始每隔三个字符取出一个字符 print(s[2::3]) # 输出: cf ``` --- ### 总结 通过对字符串应用下标切片技术,能够灵活地处理数据片段。无论是简单的字符读取还是复杂的模式匹配前的数据预处理阶段,这些技巧都显得尤为重要。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值