本文实例讲述了Python切片索引用法。分享给大家供大家参考,具体如下:
在Python中,可以用用简单的方括号加一个下标的方式访问序列的每一个元素,这种方式称之为切片操作符,切片操作符有三种形式:
[],[:],[::]
访问某一数据元素的语法如下:
sequence[index]
sequence是序列的名字,index是访问元素的对应的偏移量,为正数,0<=index<=len(sequence)-1;使用负索引的时候,其范围为-len(sequence) <=index <= -1
由于Python是面向对象的,所以也可以通过在序列后直接加上一个索引进行访问,如下所以
对于访问多个元素的情形
sequence[starting_index:ending_index]
下面就访问的几种方式进行举例说明:
这里要注意的是重复操作符 *
sequence * copies_int
当需要一个序列的多个拷贝时,重复操作符就可以发挥作用了,copies_int 必须为整形
连接操作符 +
sequence1 + sequence2
允许使用 + 将两个相同类型的序列进行连接
但注意看起来很方便,但是这种操作不是最快或者最有效地,对字符串来说,这个操作不如把所有子字符串放到一个列表中或者可迭代对象中,然后使用join()
方法来把所有的内容连接在一起节约内存;而对于列表而言,推荐是哟个列表类型的extend()
方法来把两个或者多个列表对象合并
输出为:
a-b-c
输出为:
Extended List : [123, 'xyz', 'zara', 'abc', 123, 2009, 'manni']
切片索引的语法要比简单的单一元素索引方法灵活很多,开始和结束索引值可以超过字符串的长度。即起始索引值可以小于0,而结束索引值可以大于序列的长度,如:
输出为:
('Faye', 'Leanna', 'Daylen')
如果有一个字符串,想通过循环按照这样的方式进行显示:每次都把位于最后的那一个字符砍掉,如何实现呢?
输出为:
abcde
abcd
abc
ab
a
发现没有显示第一个,即是没有显示完整的字符串,除开另外单独定义一个sequence[:0]
,这里使用None作为索引值
输出为:
abcdef
abcde
abcd
abc
ab
a
希望本文所述对大家Python程序设计有所帮助。
新闻热点
疑难解答