Python中列表/字符串切片slice? 50

(1)、lst=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]#lst[3*3::3]output:[9,12,15]lst[3*3::3... (1)、lst = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
#lst[3*3::3] output:[9, 12, 15]
lst[3*3::3] = len(lst[3*3::3])*[0]
output:[0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 0, 13, 14, 0]
(2)、s = '0123456789'
s[::-1] '9876543210'
s[::-2] '97531'
s[::-3] '9630'
s = '0123456789'
s[:2:-1] '9876543'
s[1:2:-1] ''
s[2:1:-1] '2'
s[2::-1] '210'
s[-1:-2:-1] '9'
s[-1:-5:-2] '97'
这两段看不懂能否帮忙详细就此题解答?
展开
 我来答
我不会运维
2019-11-15 · 知道合伙人IT服务行家
我不会运维
知道合伙人IT服务行家
采纳数:2 获赞数:5
中智诚征信有限公司最佳员工

向TA提问 私信TA
展开全部

s = '0123456789'
s[::-1]:表示将s倒序排列
s[::-2]:表示将s倒序排列并且步长是2
s[::-3]:表示将s倒序排列并且步长是3

s[:2:-1]:表示将s倒序排列,并且到s的第2个元素就结束
s[1:2:-1]:表示将s倒序排列,并且从第一个元素开始,第二个元素结束

s[-1:-5:-2]:表示将s倒序排列步长为2,也就是'97531'。然后是从s的-1个元素位置开始,也就是9。到s的-5个元素结束,也就是5,但不包括5。最后的结果也就是'97'
德玛西亚瑞萌萌
2019-11-15
知道答主
回答量:10
采纳率:0%
帮助的人:6515
展开全部
不知道你那里不懂,,这个挺简单的啊。 给你解释两个你就明白了
lst[3*3::3] output:[9, 12, 15] 中 中括号第一个:前是从3*3开始,第二个:是空也就是没有结束走完整个集合,第三个:后是 3 也就是步长 3 。
s[:2:-1] '9876543' 这个是 第一个:前为空 也就是开头,第二个:后是2 也就是到 2 结束。第三个:后是 -1 也就是反向字符串,或者理解为从右开始数
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
呼啸的宝马小跑
2019-11-15 · TA获得超过247个赞
知道大有可为答主
回答量:1436
采纳率:0%
帮助的人:132万
展开全部
你好的!
这个是基础知识:
(一)start_index、end_index、step可同为正、同为负,也可正负混合使用。但必须遵循一个原则,否则无法正确切取到数据:当start_index的位置在end_index的左边时,表示从左往右取值,此时step必须是正数(同样表示从左往右);当start_index的位置在end_index的右边时,表示从右往左取值,此时step必须是负数(同样表示从右往左),即两者的取值顺序必须是相同的。对于特殊情况,当start_index或end_index省略时,起始索引和终止索引由step的正负来决定,不会存在取值方向出现矛盾的情况(即不会返回空列表[]),但正和负取到的结果是完全不同的,因为一个向左一个向右。
(二)在利用切片时,step的正负是必须要考虑的,尤其是当step省略时。比如a[-1:],很容易就误认为是从“终点”开始一直取到“起点”,即a[-1:]= [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],但实际上a[-1:]=a[-1]=9,原因在于step=1表示从左往右取值,而起始索引start_index=-1本身就是对象的最右边的元素了,再往右已经没数据了,因此只有a[-1]一个元素。

具体百度一下python切片详解!
望采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式