有些书中叫做分片,有些书中叫做切片,翻译时的一些误差)
概念:将序列按段进行切割
作用:通过分片操作符来访问一定范围内的元素
实现:分片是通过两个冒号相隔的索引来实现
范围:符合序列特性即可使用切片功能,例如:列表、元组、字符串
语法:slice[(index_start):(index_end):(Step_length)]
#()括号中的参数为可选参数,默认步长值为1
切片的方式:

#定义字符串
 slices="qwertyuioplkjhgfdsazxcvbnm"
 #通过切片获取第一个元素
 print slices[0:1]
 结果:q
 说明:
  index_end不进行参与取值,也就是说只会计算取值0到1之间的数字,0为包含,1为不包含[0,1);

#增加步长
 print slices[0:6:2]
 结果:qet
 说明:
  Step_length步长值为2,也就是说中间会跳一个然后在去取值,步长为1值就是连续取值,切记步长为2不是跳过2个元素进行取值

#步长为负时
 print slices[::-2]
 结果:qet
 说明:
  负的步长以为从后向前取值
  
#index_start和index_end缺省时
 print slices[:]
 结果:qwertyuioplkjhgfdsazxcvbnm
 说明:起始值和结束值为缺省时,获取所以元素,当index_start代表从第一个元素开始获取直到结束,当index_end缺省时,从定义的元素索引开始获取直到结束

示例:
    print
slices[3:] ---->rtyuioplkjhgfdsazxcvbnm
  print slices[:8]
---->qwertyui
 #index_start和index_end为负数时
 print slices[-5:-1]
 结果:cvbn
 说明:
  当index_start和index_end为负数时,分片切割是从后往前取值

疑问?
  最后一位元素怎么没有取到?
 解释:
  因为index_end的值为非包含,所以最后一个元素无法取值,如果要取值,需要将index_end变为空置.

04-29 23:34