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 ?
>>> L = [‘Michael‘,‘Jack‘] >>> L[1:3] [‘Sarah‘,‘Tracy‘] ?类似的,既然Python支持 >>> L = [‘Michael‘,‘Sarah‘,‘Tracy‘,‘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) >>> ?字符串 >>> L=‘ABCDEF‘ >>> L[0:5] ‘ABCDE‘ >>> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |