重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇文章给大家分享的是有关如何在Python中使用切片索引,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
目前创新互联已为上1000家的企业提供了网站建设、域名、网页空间、网站托管、企业网站设计、丽江网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。在Python中,可以用用简单的方括号加一个下标的方式访问序列的每一个元素,这种方式称之为切片操作符,切片操作符有三种形式:
[],[:],[::]
访问某一数据元素的语法如下:
sequence[index]
sequence是序列的名字,index是访问元素的对应的偏移量,为正数,0<=index<=len(sequence)-1;使用负索引的时候,其范围为-len(sequence) <=index <= -1
由于Python是面向对象的,所以也可以通过在序列后直接加上一个索引进行访问,如下所以
print ('a','b','c','d')[2]
对于访问多个元素的情形
sequence[starting_index:ending_index]
下面就访问的几种方式进行举例说明:
sequence="abcdefgh" print len(sequence) #显示序列长度 print sequence #打印完整序列 print sequence[:] print sequence[2:3] #切片显示,不指定步长默认为1,指定了步长(这里是setp为2)按照步长进行显示 print sequence[1:6:2] print sequence[3] #元素访问 print sequence[0:3] #从首元素开始访问,访问区间为[0,3),左开you print sequence[:3] print sequence[2:8] #从第二个元素一直访问到最后一个元素 print sequence[2:] print sequence[::-1] #从最后一个元素开始访问,逆序访问,可以视为“翻转”操作 print max(sequence) print min(sequence) print sequence.index('c')
这里要注意的是重复操作符 *
sequence * copies_int
当需要一个序列的多个拷贝时,重复操作符就可以发挥作用了,copies_int 必须为整形
print sequence*3 #使用重复操作符
连接操作符 +
sequence1 + sequence2
允许使用 + 将两个相同类型的序列进行连接
print sequence + sequence
但注意看起来很方便,但是这种操作不是最快或者最有效地,对字符串来说,这个操作不如把所有子字符串放到一个列表中或者可迭代对象中,然后使用join()
方法来把所有的内容连接在一起节约内存;而对于列表而言,推荐是哟个列表类型的extend()
方法来把两个或者多个列表对象合并
str.join(sequence) #方法用于将序列中的元素以指定的字符连接生成一个新的字符串
str = "-"; seq = ("a", "b", "c"); # 字符串序列 print str.join( seq );
输出为:
a-b-c
list.extend(seq) #函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
aList = [123, 'xyz', 'zara', 'abc', 123]; bList = [2009, 'manni']; aList.extend(bList) print "Extended List : ", aList ;
输出为:
Extended List : [123, 'xyz', 'zara', 'abc', 123, 2009, 'manni']
切片索引的语法要比简单的单一元素索引方法灵活很多,开始和结束索引值可以超过字符串的长度。即起始索引值可以小于0,而结束索引值可以大于序列的长度,如:
print ('Faye','Leanna','Daylen')[-100:100]
输出为:
('Faye', 'Leanna', 'Daylen')
如果有一个字符串,想通过循环按照这样的方式进行显示:每次都把位于最后的那一个字符砍掉,如何实现呢?
sequence = 'abcdef' i = -1 for i in range(-1,-len(sequence),-1): print sequence[:i]
输出为:
abcde
abcd
abc
ab
a
发现没有显示第一个,即是没有显示完整的字符串,除开另外单独定义一个sequence[:0]
,这里使用None作为索引值
sequence = 'abcdef' for i in [None] + range(-1,-len(sequence),-1): print sequence[:i]
输出为:
abcdef
abcde
abcd
abc
ab
a
以上就是如何在Python中使用切片索引,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联成都网站设计公司行业资讯频道。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。