切片以反转python中列表的一部分
发布时间:2020-12-20 11:59:37 所属栏目:Python 来源:网络整理
导读:我有一个列表,我想从后到尾提取一个子列表.有两行代码,这是 mylist = [...]mysublist = mylist[begin:end]mysublist = mysublist[::-1] 是否有切片符号在一行中获得相同的效果?这个 mysublist = mylist[end:begin:-1] 是不正确的,因为它包含结尾并排除了beg
我有一个列表,我想从后到尾提取一个子列表.有两行代码,这是
mylist = [...] mysublist = mylist[begin:end] mysublist = mysublist[::-1] 是否有切片符号在一行中获得相同的效果?这个 mysublist = mylist[end:begin:-1] 是不正确的,因为它包含结尾并排除了begin元素.这个 mysublist = mylist[end-1:begin-1:-1] 当begin为0时失败,因为begin-1现在是-1,它被解释为mylist的最后一个元素的索引. 解决方法
如果begin为0,请使用None:
mysublist = mylist[end - 1:None if not begin else begin - 1:-1] 无意味着’默认’,与省略值相同. 您始终可以将条件表达式放在单独的行中: start,stop,step = end - 1,None if not begin else begin - 1,-1 mysublist = mylist[start:stop:step] 演示: >>> mylist = ['foo','bar','baz','eggs'] >>> begin,end = 1,3 >>> mylist[end - 1:None if not begin else begin - 1:-1] ['baz','bar'] >>> begin,end = 0,'foo'] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |