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中的“分片”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用它去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”

 

  不要停留在理论规则上面,快动起来吧!

 

(通过游戏模式学习与训练,需要在电脑上运行)

进入游戏学习与训练