: pythonネイティブリストのアプリケーション
通常、スライス操作では3つのパラメーターを指定する必要があります[start:stop:step]
startはスライスの開始位置です
stopはスライスの終了位置です(含まれていません)
ステップは省略できます。デフォルト値は1で、ステップ値を0にすることはできません。そうしないと、エラーが報告されます。
ValueError: slice step cannot be zero
list=[1,2,3,4,5,6,7,8,9]
stepが正の数の場合、list [start]の要素位置から開始し、stepをlist [stop _]の要素位置(含まれていません)までのステップ長として使用し、左から右にインターセプトします。 startとstopはどちらも正または負のインデックスであるか、混合されていますが、list [stop]要素の[論理]位置がlist [start]要素の[論理]位置の右側にあることを確認する必要があります。そうでない場合、要素を取得できません。
print(list[0:4])
[0, 1, 2, 3]
print(list[1:-1])
[1, 2, 3, 4, 5, 6, 7, 8]
print(list[-8:8])
[2, 3, 4, 5, 6, 7]
stepが負の数の場合、list [start]要素の位置から開始し、list [stop]要素(含まれていません)の位置までのステップ長としてstepを使用し、右から左にインターセプトして、list [stop]要素の[logic]を確保します。ポジション
list [start]要素の[logical]位置の左側にある必要があります。そうでない場合、要素を取得できません。
print(list[5:2:-1])
[5, 4, 3]
print(list[7:-7:-1])
[7, 6, 5, 4]
開始と停止が仮想論理位置の関係に準拠している場合、開始と停止の絶対値は長さより大きくなる可能性があります。
print(list[-12:5:2])
[0, 2, 4]
開始と停止の両方を省略できます。たとえば、list [:]の場合、省略されたものは、対応する左右の境界の開始要素によってインターセプトされます。
print(list[:])
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
特定の位置に要素を挿入します
list[3:3]="a"print(list)
[0, 1, 2, ' a', 3, 4, 5, 6, 7, 8, 9]
list[5:5]=["a","b"]print(list)
[0, 1, 2, 3, 4, ' a', 'b', 5, 6, 7, 8, 9]
Recommended Posts