gpt4 book ai didi

Python切片索引用法示例

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Python切片索引用法示例由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例讲述了Python切片索引用法。分享给大家供大家参考,具体如下:

在Python中,可以用用简单的方括号加一个下标的方式访问序列的每一个元素,这种方式称之为切片操作符,切片操作符有三种形式:

[],[:],[::] 。

访问某一数据元素的语法如下:

sequence[index] 。

sequence是序列的名字,index是访问元素的对应的偏移量,为正数,0<=index<=len(sequence)-1;使用负索引的时候,其范围为-len(sequence) <=index <= -1 。

由于Python是面向对象的,所以也可以通过在序列后直接加上一个索引进行访问,如下所以 。

?
1
print ( 'a' , 'b' , 'c' , 'd' )[ 2 ]

对于访问多个元素的情形 。

sequence[starting_index:ending_index] 。

下面就访问的几种方式进行举例说明:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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 必须为整形 。

?
1
print sequence * 3   #使用重复操作符

连接操作符 + 。

sequence1 + sequence2 。

允许使用 + 将两个相同类型的序列进行连接 。

?
1
print sequence + sequence

但注意看起来很方便,但是这种操作不是最快或者最有效地,对字符串来说,这个操作不如把所有子字符串放到一个列表中或者可迭代对象中,然后使用join()方法来把所有的内容连接在一起节约内存;而对于列表而言,推荐是哟个列表类型的extend()方法来把两个或者多个列表对象合并 。

?
1
str .join(sequence) #方法用于将序列中的元素以指定的字符连接生成一个新的字符串
?
1
2
3
str = "-" ;
seq = ( "a" , "b" , "c" ); # 字符串序列
print str .join( seq );

输出为:

a-b-c 。

?
1
list .extend(seq)  #函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
?
1
2
3
4
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,而结束索引值可以大于序列的长度,如:

?
1
print ( 'Faye' , 'Leanna' , 'Daylen' )[ - 100 : 100 ]

输出为:

('Faye', 'Leanna', 'Daylen') 。

如果有一个字符串,想通过循环按照这样的方式进行显示:每次都把位于最后的那一个字符砍掉,如何实现呢?

?
1
2
3
4
sequence = 'abcdef'
i = - 1
for i in range ( - 1 , - len (sequence), - 1 ):
   print sequence[:i]

输出为:

abcde abcd abc ab a 。

发现没有显示第一个,即是没有显示完整的字符串,除开另外单独定义一个sequence[:0],这里使用None作为索引值 。

?
1
2
3
sequence = 'abcdef'
for i in [ None ] + range ( - 1 , - len (sequence), - 1 ):
   print sequence[:i]

输出为:

abcdef abcde abcd abc ab a 。

希望本文所述对大家Python程序设计有所帮助.

原文链接:https://blog.csdn.net/rhx_qiuzhi/article/details/80073585 。

最后此篇关于Python切片索引用法示例的文章就讲到这里了,如果你想了解更多关于Python切片索引用法示例的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com