logo

Python リストのスライス

Python では、リストのスライスは一般的な手法であり、プログラマーが効率的に問題を解決するために最もよく使用されるテクニックです。 Python リストを考えてみましょう。リスト内の要素の範囲にアクセスするには、リストをスライスする必要があります。これを行う 1 つの方法は、単純なスライス演算子、つまりコロン(:) を使用することです。この演算子を使用すると、スライスを開始する場所、終了する場所、およびステップを指定できます。リストのスライスでは、既存のリストから新しいリストが返されます。

Python リスト スライス構文

リストのスライスの形式は次のとおりです。 パイソン リストのスライスは次のとおりです。



Lst  [   Initial   :   End   :   IndexJump   ]>

もし 最初 がリストの場合、上記の式はインデックスからリストの一部を返します。 イニシャル インデックスを付ける 終わり 、ステップサイズで インデックスジャンプ

Python リストのインデックス作成

インデックス作成は、オブジェクトの要素にアクセスするための手法です。 Python リスト 。リストの要素にアクセスするにはさまざまな方法があります。

ポジティブインデックス

ポジティブ インデックスの場合、リストの最初の要素のインデックス番号は 0、リストの最後の要素のインデックス番号は N-1 になります。ここで、N はリスト内の要素の総数 (リストのサイズ) )。



Python リストのポジティブインデックス付け

Python リストのポジティブインデックス付け

例:

この例では、正のインデックス スライスを使用してリスト全体を表示します。



Python3




# Initialize list> Lst>=> [>50>,>70>,>30>,>20>,>90>,>10>,>50>]> # Display list> print>(Lst[::])>

>

>

出力:

[50, 70, 30, 20, 90, 10, 50]>

負のインデックス

以下の図は、リストとその負のインデックスを示しています。インデックス -1 はリストの最後の要素を表し、-N はリストの最初の要素を表します。N はリストの長さです。

Python リストのネガティブインデックス付け

Python リストのネガティブインデックス付け

例:

この例では、負のインデックスを使用してリストの要素にアクセスします。

Python3




# Initialize list> Lst>=> [>50>,>70>,>30>,>20>,>90>,>10>,>50>]> # Display list> print>(Lst[>->7>::>1>])>

>

>

出力:

[50, 70, 30, 20, 90, 10, 50]>

スライス

前に述べたように、Python でのリスト スライスは一般的な方法であり、正のインデックスと負のインデックスの両方で使用できます。以下の図は、リスト スライスの手法を示しています。

Python リストのスライス

Python リストのスライス

例:

この例では、上の図を Python コードに変換します。

Python3




# Initialize list> Lst>=> [>50>,>70>,>30>,>20>,>90>,>10>,>50>]> # Display list> print>(Lst[>1>:>5>])>

>

>

出力:

[70, 30, 20, 90]>

Python でのリスト スライスの例

Python でのリスト スライスの使用を示すいくつかの例を見てみましょう。

例 1: Initial、End、IndexJump などの引数を空白のままにすると、デフォルト値が使用されます。つまり、Initial として 0、End としてリストの長さ、IndexJump として 1 が使用されます。

Python3




# Initialize list> List> => [>1>,>2>,>3>,>4>,>5>,>6>,>7>,>8>,>9>]> # Show original list> print>(>'Original List: '>,>List>)> print>(>' Sliced Lists: '>)> # Display sliced list> print>(>List>[>3>:>9>:>2>])> # Display sliced list> print>(>List>[::>2>])> # Display sliced list> print>(>List>[::])>

>

>

Base64 JavaScriptをデコードする

出力:

Original List: [1, 2, 3, 4, 5, 6, 7, 8, 9] Sliced Lists: [4, 6, 8] [1, 3, 5, 7, 9] [1, 2, 3, 4, 5, 6, 7, 8, 9]>

例 2: 逆リストは、IndexJump 引数として負の整数を使用して生成できます。 Initial と End は空白のままにします。 IndexJump 値が負の場合は、反転リストに従って初期値と終了値を選択する必要があります。

Python3




# Initialize list> List> => [>'Geeks'>,>4>,>'geeks !'>]> # Show original list> print>(>'Original List: '>,>List>)> print>(>' Sliced Lists: '>)> # Display sliced list> print>(>List>[::>->1>])> # Display sliced list> print>(>List>[::>->3>])> # Display sliced list> print>(>List>[:>1>:>->2>])>

>

>

出力:

Original List: ['Geeks', 4, 'geeks !'] Sliced Lists: ['geeks !', 4, 'Geeks'] ['geeks !'] ['geeks !']>

例 3: 意味をなさない、または計算不可能なスライス式が作成された場合、空のリストが生成されます。

Python3




# Initialize list> List> => [>->999>,>'G4G'>,>1706256>,>'^_^'>,>3.1496>]> # Show original list> print>(>'Original List: '>,>List>)> print>(>' Sliced Lists: '>)> # Display sliced list> print>(>List>[>10>::>2>])> # Display sliced list> print>(>List>[>1>:>1>:>1>])> # Display sliced list> print>(>List>[>->1>:>->1>:>->1>])> # Display sliced list> print>(>List>[:>0>:])>

>

>

出力:

Original List: [-999, 'G4G', 1706256, '^_^', 3.1496] Sliced Lists: [] [] [] []>

例 4: リストのスライスを使用すると、リストを変更したり、リストから要素を削除したりすることもできます。

Python3




# Initialize list> List> => [>->999>,>'G4G'>,>1706256>,>3.1496>,>'^_^'>]> # Show original list> print>(>'Original List: '>,>List>)> print>(>' Sliced Lists: '>)> # Modified List> List>[>2>:>4>]>=> [>'Geeks'>,>'for'>,>'Geeks'>,>'!'>]> # Display sliced list> print>(>List>)> # Modified List> List>[:>6>]>=> []> # Display sliced list> print>(>List>)>

>

>

出力:

Original List: [-999, 'G4G', 1706256, 3.1496, '^_^'] Sliced Lists: [-999, 'G4G', 'Geeks', 'for', 'Geeks', '!', '^_^'] ['^_^']>

例 5: スライスされたリストを連結することにより、新しいリストを作成したり、既存のリストを変更したりすることもできます。

Python3




# Initialize list> List> => [>1>,>2>,>3>,>4>,>5>,>6>,>7>,>8>,>9>]> # Show original list> print>(>'Original List: '>,>List>)> print>(>' Sliced Lists: '>)> # Creating new List> newList>=> List>[:>3>]>+>List>[>7>:]> # Display sliced list> print>(newList)> # Changing existing List> List> => List>[::>2>]>+>List>[>1>::>2>]> # Display sliced list> print>(>List>)>

>

>

出力:

Original List: [1, 2, 3, 4, 5, 6, 7, 8, 9] Sliced Lists: [1, 2, 3, 8, 9] [1, 3, 5, 7, 9, 2, 4, 6, 8]>