2019.7.21 切片
切片是指:通过 ‘:’符号批量提取tuple和list中的元素。
举例:
L=[1,2,3] print L[0:3] print L[:3] print L[1:3] print L[-3:-1] #结果 [1, 2, 3] [1, 2, 3] [2, 3] [1, 2]
L[m:n] 是从下标索引m提取到索引n-1,m为0时可以省略不写,如上文code的第二个print
提取一个List的前十个和后十个元素:
L3=range(100); print L3[:10] ; print L3[-10:] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
提取从数字11到20
L3[10:20]
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
前10个数,每两个取一个
L3[:10:2]
[0, 2, 4, 6, 8]
所有的数,每5个取一个
L3[::5]
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95
复制L的内容,不能用 =号,因为这样二者指向的其实是一个List
L4=L3 L4[1]=0 print L3[1] 0
可以用[:]完成复制
L5=L3[:] L5[1]=0 prinr L3[1] 1
对于tuple,同样可以用切片的方式提取
(1,2,3,4,5)[:3]
(1, 2, 3)
对于字符串,可以利用切片来提取中间的字符:
A='ABCDEFG'
A[:3] 'ABC'
A[-3:] 'EFG'
unicode字符串也可以同样这样处理
#字符串前加u是unicode,不加是UTF-8,UTF-8转化为unicode的函数是decode B=A.decode('UTF-8') B[::2] u'ACEG'
用切片处理的也可以用循环处理,但是明显切片处理的代码更简单一些

浙公网安备 33010602011771号