加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python切片操作

发布时间:2020-12-20 12:43:41 所属栏目:Python 来源:网络整理
导读:切片 取一个list或tuple的部分元素是非常常见的操作。比如,一个list如下: L = [ ‘ Michael ‘ , ‘ Sarah ‘ , ‘ Tracy ‘ , ‘ Bob ‘ , ‘ Jack ‘ ] ? ?取前3个元素,应该怎么做? 笨办法: [L[0],L[1],L[2 ]][ ‘ Michael ‘ , ‘ Tracy ‘ ] ?如果

切片

取一个list或tuple的部分元素是非常常见的操作。比如,一个list如下:

>>> L = [Michael,Sarah,Tracy,Bob,Jack]

?

?取前3个元素,应该怎么做?

笨办法:

>>> [L[0],L[1],L[2]]
[Michael,Tracy]

?如果列表长度为1000,想要取出前index为100-200的元素,这种方法就不太方便。当然可以用循环来实现,但是十分繁琐,因此,Python提供了切片(Slice)操作符,能大大简化这种操作。

?

例(1):

取出列表前三个元素:

L = [Michael,Jack]
print(L[0:3])#表示,从索引开始取,直到索引为止,但不包括索引。即索引,,,正好是3个元素。 print(L[:3])#如果第一个索引是,还可以省略:L[0:3]0330120

?

也可以从索引1开始,取出2个元素出来:

>>> L = [Michael,Jack]
>>> L[1:3]
[Sarah,Tracy]

?类似的,既然Python支持L[-1]取倒数第一个元素,那么它同样支持倒数切片,试试:

>>> L = [‘Michael‘,‘Sarah‘,‘Tracy‘,‘Bob‘,‘Jack‘
>>> L[-2:]
[Bob,Jack]
>>>

?例(2):

切片也可以跳着取值,比如每个两个取一个值,每5个取一个值,试试:

先用list()函数创建一个列表:

>>> L=list(range(100))
>>> L
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99]
>>>

取出所以偶数,L[::2]省略的参数,默认值为0

>>> L[::2]
[0,2,98]
>>>

前20个数每个5个取一个数;

>>> L[0:20:5]
[0,15]
>>>

  注意:tuple也是一种list,唯一区别是tuple不可变。因此,tuple也可以用切片操作,只是操作的结果仍是tuple:

>>> T[0:3]
(1,3)
>>>

?字符串‘xxx‘也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串:

>>> L=ABCDEF
>>> L[0:5]
ABCDE
>>>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读