Python 分片
在接下来的时间里面,我们准备为大家介绍"分片"。
"分片"——可以使用中括号"[ ]"进行操作的就称为分片,分片可以应用于字符串,列表与元组。
分片定义的语法格式如下:
要进行分片的序列[ 起始位置 ]
要进行分片的序列[ 起始位置:结束位置 ]
要进行分片的序列[ 起始位置:结束位置:步长 ]
要进行分片的序列[ : ]
语法格式分析:
(1)要进行分片的序列,这些序列可以是“字符串”,“序列”或“元组”。
(2)“一对中括号”格式要求,不能省略。
(3)起始位置就是“字符串”或“序列”或“元组”中下标。
(4)步长,就是间隔,具体应用看例子分析。
(5)“:”格式要求,不能省略。
分片的特性:
(1)起始与结束位置,以及步长都必须是整数或整数变量。
(2)如果起始与结束位置超出范围就会报错。
(3)起始位置包括对应的数据,结束位置不包括对应的数据,具体看例子分析。
接下来,我们结合例子,再作进一步的学习:
下标从尾部开始 | -15 | -14 | -13 | -12 | -11 | -10 | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
字符变量s | a |
i |
x |
u |
e |
x |
i |
w |
a |
n |
g |
. |
c |
o |
m |
下标从头部开始 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
例子1:
s = "aixuexiwang.com" #首先定义了一个字符变量s
s[ 2:11 ]
例子分析:
(1)起始位置设置为2,而起始位置是包含对应的数据的,所以,就是x
(2)结束位置设置为11,而结束位置是不包含对应的数据的,所以,不会取"."
所以,s [ 2:11 ] 的结果就是xuexiwang
例子2:
s = "aixuexiwang.com" #首先定义了一个字符变量s
s[ 12 ]
s[ 12: ]
例子分析:
(1) 只设置了起始位置为12,没有设置结束位置,所以,就只获取12对应的数据,这样,
s[12]的结果就是 c
(2) 只设置了起始位置为12,同时有冒号,但没有设置结束位置,所以,
就从下标12开始,一直到最后,这样,s[12:]的结果就是 com
例子3:
s = "aixuexiwang.com" #首先定义了一个字符变量s
s[ :11 ]
例子分析:
只设置了结束位置为11,没有设置起始位置,所以,就从0开始一直到11,这样,
s[ :11]的结果就是aixuexiwang
例子4:
s = "aixuexiwang.com" #首先定义了一个字符变量s
s[ : ]
例子分析:
起始与结束位置都没有设置,所以,就从0开始一直到最后,这样,
s[ : ]的结果就是aixuexiwang.com
###########
# 加入步长的例子 #
###########
下标从尾部开始 | -15 | -14 | -13 | -12 | -11 | -10 | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
字符变量s | a |
i |
x |
u |
e |
x |
i |
w |
a |
n |
g |
. |
c |
o |
m |
下标从头部开始 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
例子1:
s = "aixuexiwang.com" #首先定义了一个字符变量s
s[ 2:11:2 ]
例子分析:
(1)起始位置设置为2,而起始位置是包含对应的数据的,所以,就是x
(2)结束位置设置为11,而结束位置是不包含对应的数据的,所以,不会取"."
(3)步长设置为2,步长的作如下:
首先,将起始的位置的下标2加上步长2等于4,所以,取下标为4对应的数据 e,
然后,再用e的下标4加上步长2等于6,所以,取下标为6对应的数据 i,
然后,再用 i 的下标6加上步长2等于8,所以,取下标为8对应的数据 a,
然后,再用a的下标8加上步长2等于10,所以,取下标为10对应的数据 g,
然后,由于g的下标9加上步长2大于结束位置11,所以,就结束。
最后,s [ 2:11:2 ] 的结果就是起始位置的数据加上各步长所获取的数据,就是xeiag
下标从尾部开始 | -15 | -14 | -13 | -12 | -11 | -10 | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
字符变量s | a |
i |
x |
u |
e |
x |
i |
w |
a |
n |
g |
. |
c |
o |
m |
下标从头部开始 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
例子2:
s = "aixuexiwang.com" #首先定义了一个字符变量s
s[ 1:-10:2 ]
例子分析:
(1)起始位置设置为1,而起始位置是包含对应的数据的,所以,就是 i
(2)结束位置设置为-10,而结束位置是不包含对应的数据的,所以,不会取"x"
(3)步长设置为2,步长的作如下:
首先,将起始的位置的下标1加上步长2等于3,所以,取下标为3对应的数据 u,
然后,再用u的下标3加上步长2等于5,同时,下标为5也对应下标为-10,查看上表,
而结束位置刚好设为-10,所以,就要结束。
最后,s [ 1:-10:2 ] 的结果就是 iu
下标从尾部开始 | -15 | -14 | -13 | -12 | -11 | -10 | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
字符变量s | a |
i |
x |
u |
e |
x |
i |
w |
a |
n |
g |
. |
c |
o |
m |
下标从头部开始 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
例子3:
s = "aixuexiwang.com" #首先定义了一个字符变量s
s[ -1:-5:-2 ]
例子分析:
(1)起始位置设置为-1,而起始位置是包含对应的数据的,所以,就是 m
(2)结束位置设置为-5,而结束位置是不包含对应的数据的,所以,不会取"g"
(3)步长设置为-2,步长的作如下:
首先,将起始的位置的下标-1加上步长-2等于-3,所以,取下标为-3对应的数据 c,
然后,再用c的下标-3加上步长-2等于-5,而结束位置设置为-5,所以,就要结束。
最后,s [ -1:-5:-2 ] 的结果就是 mc
小结:
(1)起始与结束位置,以及步长可以使用正数或负数
(2)列表与元组使用分片的语法格式与字符串是一样的
非常好,现在,我们已经掌握了Python中的“分片”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用它去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”。
不要停留在理论规则上面,快动起来吧!
(通过游戏模式学习与训练,需要在电脑上运行)