开启Python的自学模式(七)切片

内容在慕课网看的自己总结归纳

慕课网传送门出来吧~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'

猜你喜欢

转载自blog.csdn.net/qq_42744710/article/details/81279727