Re: [問題] slice

作者: KSJ (阿真)   2020-10-16 10:58:48
研究了一下
要先有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
作者: tsaiminghan (tsaiminghan)   2020-10-16 21:13:00
謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com