python-切片

高洛峰
Libérer: 2016-11-21 18:09:28
original
1257 Les gens l'ont consulté

取一个list或者tuple的一部分是十分常见的操作。我们除了利用循环通过索引一个个获取元素外,python还为我们提供了方便的切片(Slice)操作符:。

我们定义一个list,以供下面举例使用。

L = ['apple','banaba','peal','orange','water melon']

取一个元素

顺序取一个元素

例如L[1]代表第2个元素,即index为1的元素。

逆序取一个元素

list、tuple、string等不仅能从头开始取元素,还可以从尾端开始取元素。例如:
list[-1]则是指list的倒数第1个。

取多个元素

从头开始取多个元素

print L[0:3]
        ||____切片结束index,但是不包括该index的元素。
        |____切片起始index。包括该index的元素。
        
# 上述即取L这个list的index为0、1、2的三个元素。
        
print L[ :3]
        |___切片开始的index不填则默认是从list最前端即index=0开始。(事实上也不用空一格,这里只是展示方便。)
Copier après la connexion

上述两个print函数输出的都是['apple', 'banaba', 'peal']。切片符号是一对

从尾端开始取多个元素

例如

L[-3:-1]
   |  |____倒数第1个结束,但不包括该元素。
   |_____倒数第3个开始,包括该元素。
Copier après la connexion

哇,我们找到了一个规律:
就是python切片的时候总是包括前面那个元素,却不包括最后一个元素。
当然,从尾端开始切片,也支持省略index代表一直切到尾部。例如:

L[-3:]
Copier après la connexion

突然有一个神奇的想法,切片的时候开始与结束时的index都省略,那么会发生什么?
即L[:],谜底就是切出了一个跟原来的list一摸一样的list。

上面所有的例子都是用list来举例说明的。其实tuple、string都是一样的。其他编程语言入python、java都提供了很多操作字符串的函数,其实python中可以利用切片轻松完成。

注意点

python切片的时候[from:to]中的from一定要比to小,才会返回正确的切片,否则会返回一个空的list、tuple或则什么都没有(给字符串切片的时候)。


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal