在python中,代码不是越多越好,而是越少越好,代码越少,开发效率越高
切片:
取一个list和tuple的部分元素是非常常见的
>>>L=['a','b','c','d']
>>>L[0:3]
['a','b','c']
L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3,即0,1,2,正好3个元素。
如果第一个索引是0,还可以省略:
>>>L[:3]
['a','b','c']
也可以从索引2取1个元素出来
>>>L[2:3]
['c']
同时支持倒数切片:
倒数第一个元素的索引是-1
>>>L[-2:]
['c','d']
>>>L[-2:-1]
['c']
切片操作十分有用,比如:
我们先创建一个0-99的数列
>>>L = list(range(100))
>>>L
[0,1,2,3,4,…99]
可以通过数列轻松取出某一段数列:
比如:
取前5个数
>>>L[:5]
[0,1,2,3,4]
取后5个数
>>>L[-5:]
[95,96,97,98,99]
前5-10个数:
>>>L[5:10]
[5,6,7,8,9]
前10个数,每两个取一个:
>>>L[:10:2]
[0,2,4,6,8]
所有数,每10个取一个:
>>>L[::10]
[0,10,20,30,40,50,60,70,80,90]
只写[:]可以复制一个list
>>>L[:]
[0,1,2,……99]
tuple也可以用切片操作,只是操作结果还是tuple:
>>>(0,1,2,3,4,5)[:3]
(0,1,2)
字符串也可以用切片操作,只是操作结果还是字符串:
>>>'ABCDEFG'[:3]
'ABC'
小结:有了切片操作,很多地方循环就不再需要了。