当有一个列表(lists)或者元组(tuples)或者一个数组(字符串就是一个字符的数组),你想获取到他们的子集,不需要写循环语句,直接用分片语法就可以获取。语法是 start:stop:step,请看下面的例子。
分片语法 Slicing Syntax 例子
以上我们定义了一个列表 a,如果我们想获取到2,3,4三个元素,只需要使用语法 a[1:4],其中1代表第二个位置的元素即:2,记住,索引是从0开始的。4代表第5个元素,但是返回的列表不包含第5个元素。
a[:3] 只提供了stop值,意思是只获取列表前三个的值。
a[3:] 只提供了start值,意思是获取第三个往后的所有值。
a[:] 只有一个冒号,意思是复制列表。
Python看到中间的冒号就会知道使用的是分片的语法。
高级用法
出现了两个冒号,最后一个2代表的意思是步进值,从1开始,每次增加2,下一个索引取值就是3,因为最大值是4,停止。所以结果为索引1、3的值的列表 [2,4]
元组分片和列表一样
使用Python对象slice
slice 传入的参数和用冒号的语法的参数是一样的。slice(start, stop, step),记住stop索引处的字符是不包括在结果列表中的。
列表倒序
有一个特殊的用法 list[::-1] 可以使列表倒序排序。
注意,分片后返回的是一个新的对象,修改后不会影响之前的数据。
字符串的分片
[:] 的意思是获取所有的元素,相当于复制了一份数据。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/82425.html