作者KSJ (阿真)
看板Python
标题Re: [问题] slice
时间Fri Oct 16 10:58:48 2020
研究了一下
要先有start:stop是从 第start个开始~第stop的「前」1个结束 的观念 (step预设为1)
然後,只要是step为负时,倒过来数(从後面来数)
※ 引述《tsaiminghan (nahgnimiast)》之铭言:
: 请问在step为-1的情况下,取start:stop应该怎麽看才对?
: aa=['a', 'b', 'c']
最後面全部(:),从後面数(step=-1)到最前面全部(:) (反转list)
: print (aa[::-1]) # ['c', 'b', 'a']
第1个开始,往前数(step=-1)到全部(:)(最前面)
: print (aa[1::-1]) # ['b', 'a']
第2个开始,往前数(step=-1)到全部(:)(最前面)
: print (aa[2::-1]) # ['c', 'b', 'a']
从最後面开始,往前数到第1个「前」结束
: print (aa[:1:-1]) # ['c']
如果有开始是负的也是一样想法
从第-1个('c')开始往前数到第1个('b')「前」(不包含第1个)
print (aa[-1:1:-1]) # ['c']
以上
参考文章
https://stackoverflow.com/questions/509211/understanding-slice-notation
https://mail.python.org/pipermail/tutor/2010-January/073864.html
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.112.76.212 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1602817131.A.371.html
1F:→ tsaiminghan: 谢谢 10/16 21:13