Python中Start:Stop:Step切片概念疑问及示例解答求助
Python切片Start:Stop:Step详解
先把切片的三个核心参数讲明白:
Start:切片的起始索引,包含该位置的元素Stop:切片的结束索引,不包含该位置的元素(简单说就是取到这个索引之前的元素为止)Step:每次取元素时跳过的步数,比如Step=2就是隔一个元素取一个
拿你的例子拆解分析:
word = "Champ" print(word[0:5:2])
先对应字符串每个字符的索引:
| 索引 | 0 | 1 | 2 | 3 | 4 |
|---|---|---|---|---|---|
| 字符 | C | h | a | m | p |
现在看切片[0:5:2]的执行逻辑:
- 从索引
0(字符C)开始 - 到索引
5结束(因为字符串长度为5,最大索引是4,所以实际取到索引4的元素为止) - 每次跳
2步:- 第一个取索引0 →
C - 0+2=2,取索引2 →
a - 2+2=4,取索引4 →
p - 4+2=6,超过了Stop的5,停止切片
- 第一个取索引0 →
所以最终结果是Cap(你提到的cap应该是笔误,原字符串首字母为大写C)
再举几个简单例子帮你巩固理解:
word[1:4:1]:从索引1到4(不含4),步长1,取到h、a、m,结果为hamword[::3]:省略Start默认从0开始,省略Stop默认到末尾,步长3,取索引0和3 →Cmword[::-1]:步长为负表示反向取元素,从末尾到开头,结果为pmahC
内容的提问来源于stack exchange,提问作者Mateo Vasquez
相关产品推荐
相关产品推荐

