Python 分片

 

 1、分片

   在Python语言中,可以通过中括号[]操作的就是分片,同时,分片可以用于字符串,列表与元组。

 

 2、分片定义的语法格式

     要进行分片的序列[ 起始位置 ]

   要进行分片的序列[ 起始位置:结束位置 ]

   要进行分片的序列[ 起始位置:结束位置:步长 ]

   要进行分片的序列[ : ]

 

    语法格式分析:

    (1)要进行分片的序列,这些序列可以是“字符串”,“序列”或“元组”。

     (2)“一对中括号”格式要求,不能省略。

     (3)起始位置就是“字符串”或“序列”或“元组”中下标。

     (4)步长,就是间隔,具体应用看例子分析。

     (5)“:”格式要求,不能省略。

 

  3、元组的特性

    (1)起始与结束位置,以及步长都必须是整数或整数变量。

    (2)如果起始与结束位置超出范围就会报错。

    (3)起始位置包括对应的数据,结束位置不包括对应的数据,具体看例子分析。

 

   4、例子

下标从尾部开始 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
字符变量s
k
q
-
c
h
i
n
a
.
c
o
m
下标从头部开始 0 1 2 3 4 5 6 7 8 9 10 11

 

   例子1:

    s = "kq-china.com"   #首先定义了一个字符变量s

    s[ 1:11 ]

 

  例子分析: 

  (1)起始位置设置为1,而起始位置是包含对应的数据的,所以,就是q。

  (2)结束位置设置为11,而结束位置是不包含对应的数据的,所以,不会取"m"

 

    所以,s [ 1:11 ] 的结果就是q-china.co

 

   例子2:

    s = "kq-china.com"   #首先定义了一个字符变量s

    s[ 1 ]

    s[ 1: ]

 

   例子分析: 

   (1) 只设置了起始位置为1,没有设置结束位置,所以,就只获取1对应的数据,这样,

       s[1]的结果就是 q

   (2) 只设置了起始位置为1,同时有冒号,但没有设置结束位置,所以,

       就从下标1开始,一直到最后,这样,s[1:]的结果就是 q-china.com

 

   例子3:

    s = "kq-china.com"   #首先定义了一个字符变量s

    s[ :11 ]

   例子分析: 

    只设置了结束位置为11,没有设置起始位置,所以,就从0开始一直到11,这样,

    s[ :11]的结果就是kq-china.com

 

   例子4:

    s = "kq-china.com"   #首先定义了一个字符变量s

    s[ : ]

   例子分析: 

    起始与结束位置都没有设置,所以,就从0开始一直到最后,这样,

    s[ : ]的结果就是kq-china.com

 

 

###########

# 加入步长的例子 #

###########

下标从尾部开始 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
字符变量s
k
q
-
c
h
i
n
a
.
c
o
m
下标从头部开始 0 1 2 3 4 5 6 7 8 9 10 11

 

 

 例子1:

    s = "kq-china.com"   #首先定义了一个字符变量s

    s[ 1:5:2 ]

 

  例子分析: 

  (1)起始位置设置为2,而起始位置是包含对应的数据的,所以,就是q

  (2)结束位置设置为5,而结束位置是不包含对应的数据的,所以,不会取"i"

  (3)步长设置为2,步长的作如下:

     首先,将起始的位置的下标1加上步长2等于3,所以,取下标为3对应的数据 c,

     然后,再用c的下标3加上步长2等于5,所以,取下标为5对应的数据 i,

     然后,由于 i 的下标5加上步长2大于结束位置5,所以,就结束。

 

    最后,s [ 2:5:2 ] 的结果就是起始位置的数据加上各步长所获取的数据,就是q-chi

 

 

下标从尾部开始 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
字符变量s
k
q
-
c
h
i
n
a
.
c
o
m
下标从头部开始 0 1 2 3 4 5 6 7 8 9 10 11

 

 例子2:

    s = "kq-china.com"   #首先定义了一个字符变量s

    s[ 1:-7:2 ]

 

  例子分析: 

  (1)起始位置设置为1,而起始位置是包含对应的数据的,所以,就是 i

  (2)结束位置设置为-5,而结束位置是不包含对应的数据的,所以,不会取"a"

  (3)步长设置为2,步长的作如下:

     首先,将起始的位置的下标1加上步长2等于3,所以,取下标为3对应的数据 c,

     然后,再用c的下标3加上步长2等于5,同时,下标为5也对应下标为-7,查看上表,

     而结束位置刚好设为-7,所以,就要结束。

    

    最后,s [ 1:-7:2 ] 的结果就是 ci

 

 

下标从尾部开始 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
字符变量s
k
q
-
c
h
i
n
a
.
c
o
m
下标从头部开始 0 1 2 3 4 5 6 7 8 9 10 11

 

 例子3:

    s = "kq-china.com"   #首先定义了一个字符变量s

    s[ -1:-5:-2 ]

 

  例子分析: 

  (1)起始位置设置为-1,而起始位置是包含对应的数据的,所以,就是 m

  (2)结束位置设置为-5,而结束位置是不包含对应的数据的,所以,不会取"a"

  (3)步长设置为-2,步长的作如下:

     首先,将起始的位置的下标-1加上步长-2等于-3,所以,取下标为-3对应的数据 c,

     然后,再用c的下标-3加上步长-2等于-5,而结束位置设置为-5,所以,就要结束。

    

    最后,s [ -1:-5:-2 ] 的结果就是 ac

 

=======================================================================

非常好,现在,我们已经掌握了Python语言中的(分片)但是,如何去运行用它呢?

所以,我们就需要通过下方的链接,进入到Python语言的代码训练中,然后,通过实践去加深对该知识点的理解与运用。

>>>下载训练环境与使用说明(使用真实的开发环境,结合游戏闯关进行编程训练)