pythonのリストのスライス

2076 ワード

1.スライス
一部をスライスと呼び、スライスの原則は左閉右開、すなわち頭部を取って尾を取らないことである.スライスのステップ長はデフォルトで1、0ではありません
In [13]: a = [1,2,3,'bb','cc','dd']

In [14]: a[1:3]
Out[14]: [2, 3]

In [15]: a[1:4]
Out[15]: [2, 3, 'bb']

In [16]: a
Out[16]: [1, 2, 3, 'bb', 'cc', 'dd']

In [17]: a[2:]
Out[17]: [3, 'bb', 'cc', 'dd']

2.スライスのステップ長
例えばa[1:4:2]の2はステップ長が2であることを示し,1番目の要素から3番目の要素を取り出すが,2つの要素ごとに1つを取ることを示す.ステップ長が1の場合は、表示される連続値です.
In [19]: a = [1,2,3,'aa','bb','cc']

In [20]: a[1:4:2]
Out[20]: [2, 'aa']
    
In [5]: print (a[:3])
[1, 2, 3]

In [6]: print(a[::2])
[1, 3, 'bb']

In [7]: print (a[::-1])
['cc', 'bb', 'aa', 3, 2, 1]

In [8]: print (a[1:5:-1])
[]

In [1]: a = [1,2,3,4,5,6]
In [2]: a[1:4:-2]  
Out[2]: []  #     ,   -2,      ,         1,       4,       ,       

In [3]: a[4:1:-2]
Out[3]: [5, 3]#   -2,      ,       4,       1,         1  

In [4]: a[-1::-1]
Out[4]: [6, 5, 4, 3, 2, 1]
#   -1,    ;       -1,       ,    ,        
    
In [5]: a[-1:0:-1]
Out[5]: [6, 5, 4, 3, 2]
#   -1,    ;       -1,       ;        0,           0   ;     1

In [12]: a[-3:0:-2]
Out[12]: [4, 2]
#   -2,      ;       -3,       0,               ;

In [13]: a[-5:-3:-1]
Out[13]: []
#   -1,    ;       -5,       -3,     5        2   ,           ,   ,      

In [15]: a[-1:-5:-1]
Out[15]: [6, 5, 4, 3]
#   -1,     ;       -1,       -4,            4 

In [16]: a[-1:-5:-2]
Out[16]: [6, 4]
#   -2,       ;       -1,       -4,       1      4 

3.スライス値のまとめ
[1:]現在のインデックスの位置から最後まで
[1:3]インデックス値が1から3の要素をとる
[1:3:2]ステップ長という最後の要素
[:3]最初から2番目の要素を取ります.
[::2]リストからステップ2で取り出す値を示します
[:-1]ステップ長は負で、後ろから前へ値を取り、反転に相当します.
[1:5:-1]ステップ長は負であり、逆順で値を取るが、開始位置インデックスは1であり、終了位置インデックスは5であり、順序で値を取ることを表し、逆順で値を取ることと矛盾し、すなわち空に取り出す
スライス値は、ステップ長を優先し、ステップ長は正数、順序値を表し、ステップ長は負数は逆順序値を表す.次に、開始位置インデックスと終了位置インデックスを見て、スライスでは終了位置インデックスに対応する値を取得できません.
スライスの操作は文字列とメタグループに適用されますが、文字列とメタグループは可変ではなく、リストは可変です.