内容在慕课网看的自己总结归纳
慕课网传送门出来吧~https://www.imooc.com/
对list进行切片
取出一个list的前N个元素(例题是前三的数字 ,其中n可替换为任何索引内的数字)
>>> L = [1,2,3,4]
>>> r = [ ]
>>> n=3
>>> for i in range(n)
... r.append( L [ i ] )
...
>>> r
[1,2,3]
上面例子非常繁琐,所以就出来切片啦
同样是上面的例子
>>> L[0:3] //0的意思是索引从0开始,直到索引3结束但不包括索引3
[1,2,3]
如果从0索引开始还可以省略0
>>> L[:3]
从索引1到索引2
>>> L[1:3]
只用一个 : ,表示从头到尾:
>>> L[:]
['Adam', 'Lisa', 'Bart', 'Paul']
切片操作还可以指定第三个参数:
>>> L[::2]
['Adam', 'Bart']
第三个参数表示每N个取一个,上面的 L[::2] 会每两个元素取出一个来,也就是隔一个取一个。
L[x:y:z]
x表示起始索引
y表示最末的值,没有就是这个list的长度内
z表示间隔取出
倒序切片
>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']
>>> L[-2:]
['Bart', 'Paul']
>>> L[:-2]
['Adam', 'Lisa']
>>> L[-3:-1]
['Lisa', 'Bart']
>>> L[-4:-1:2]
['Adam', 'Bart']
倒数第一个元素的索引是-1。倒序切片包含起始索引,不包含结束索引。
我写的时候写的是print L[-10:-1]提示错误,因为倒叙切片不包含结束索引 所以就不包含-1。
所以只能写成L[-10:]
对字符串切片
>>> 'ABCDEFG'[:3]
'ABC'
>>> 'ABCDEFG'[-3:]
'EFG'
>>> 'ABCDEFG'[::2] '
ACEG
字符串有个方法 upper() 可以把字符变成大写字母:
>>> 'abc'.upper()
'ABC'