python的切片(Slice)操作符

切片(Slice)操作符

>>> L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
>>> L[0:3] //从索引0开始截取,截取到第三个元素,即索引为2的元素
['Michael', 'Sarah', 'Tracy']
>>> L[:3]  //前面的0可以省略
['Michael', 'Sarah', 'Tracy']
>>>
支持倒序截取
从倒数第一个截取到倒数第二个,不包括索引为-1的元素,包括索引为-2的元素
也可以这么理解,无论是顺序截取还是倒序截取都是:包括第一个索引的元素,不包括第二个索引的元素
>>> L[-2:-1]
['Bob']
下面出现的range(50)方法作用:顺序生成0-49的整数(不包括50)
range(2,10):顺序生成2-10之间整数(不包括10)
range(0,10,2):顺序生成0-10之间的偶数(不包括10)
即rang()能生成一组list
>>> L
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49]
>>> L[::2]//每两个取一个:
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48]
>>> L[1:10] //从索引1开始截取到索引为10的元素
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> L[1:10:2]//从索引1开始截取到索引为10的元素之间每两个取一个
[1, 3, 5, 7, 9]
>>> L[:10:2]//从索引0开始截取到索引为10的元素之间每两个取一个
[0, 2, 4, 6, 8]
>>> L[:]//只写一个 冒号相当于复制了整个list
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49]
>>> L[-10:] //取最后十个数
[40, 41, 42, 43, 44, 45, 46, 47, 48, 49]
>>>
tuple也可以用切片操作
>>> t = (1,2,3,77,5)
>>> t[:4]
(1, 2, 3, 77)
>>> t[1:4]
(2, 3, 77)
字符串也是一种list,也可以使用切片操作
>>> 'ABCDE'[2:3]
'C'

猜你喜欢

转载自blog.csdn.net/qq_29144091/article/details/81254857