学习python的第九天
根据我们前面这几天的学习,我们掌握了Python的数据类型、语句和函数,基本上就可以编写出很多有用的程序了。
但是呢,随着我们一步步的学习,代码肯定不是越多越好,我们有必要学习一些高级特性来帮助我们简化代码,能写一行解决的问题绝不写3行,越简单越好!
切片
例如,我们要取一个list或tuple的部分元素,一个list如下:
>>> names = ['Mike','Bob','Alice','LIHUA','XIAOMING']
如果取前三个元素,我们要怎么做呢?
>>> names[1],names[2],names[3]
'Mike','Bob','Alice'
不过这是一个笨方法,如果是取前n个元素就没辙了,如果我们动动脑子,就知道可以用循环
>>> r = []
>>> n = 3
>>> for i in range(n):
... r.append(names[i])
...
>>> r
['Mike', 'Bob', 'Alice']
取前N个元素,也就是索引为0-(N-1)的元素
对这种经常取指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(Slice)操作符,能大大简化这种操作。
对应上面的问题,取前3个元素,用一行代码就可以完成切片:
>>> names[0:3]
['Mike', 'Bob', 'Alice']
names[0:3]
表示,从索引0
开始取,直到索引3
为止,但不包括索引3
。即索引0
,1
,2
,正好是3个元素。