ListのアイテムにアクセスするときSlicingを利用する方法があります。
スライスからインポートリストの範囲を指定すると、該当するアイテムを新しいリストにして返すます。
たとえば、次のコードは、リストのindex 0からindex 2までのアイテムを持ってくるコードです。
cities = ['Seoul', 'Tokyo', 'Beijing', 'Washington', 'Paris']
x = cities[0:3]
print(x)
Output:
['Seoul', 'Tokyo', 'Beijing']
スライスはアイテムを持ってきて、新しいリストを作成するときにコピーするため、既存のリストが変更されません。
Syntax
Syntaxは次のとおりです。
Slicing[start:end:step]
それぞれの項目は、正または負の両方の設定が可能です。意味は次のとおりです。
- start:スライスを開始Indexを意味します
- end:スライスが終了するIndexを意味します。このIndexのアイテムは、スライスリストに含まれていません
- step:indexの間隔を設定します。デフォルトは1です
特定の範囲のアイテムを取得する
[start:end]
で、特定の範囲のアイテムを取得することができます。 startは含まれていますが、endは含まれていないリストを返してくれます。
numbers = ['0', '1', '2', '3', '4']
x = numbers[0:3]
print(x)
Output:
['0', '1', '2']
startを入力するだけリストの最後まで取得します。
numbers = ['0', '1', '2', '3', '4']
x = numbers[2:]
print(x)
Output:
['2', '3', '4']
endを入力するだけstartは、基本的に0に設定されます。
numbers = ['0', '1', '2', '3', '4']
x = numbers[:2]
print(x)
Output:
['0', '1']
負のIndexに表現することもできます。
numbers = ['0', '1', '2', '3', '4']
x = numbers[-3:-1]
print(x)
Output:
['2', '3']
Step
stepが正の場合、右方向にstepの間隔でアイテムを取得します。
たとえば、次はstepを2に設定した例です。 2つの間隔でアイテムを持ってきました。
numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8']
x = numbers[0:8:2]
print(x)
Output:
['0', '2', '4', '6']
stepを指定しなければ、デフォルトで1に設定されます。
次の例では、start indexがend indexより大きいが、stepを-2に設定して反対方向にアイテムを取得します。
numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8']
x = numbers[8:2:-2]
print(x)
Output:
['8', '6', '4']
シーケンス反転
次のようにstepだけ-1に設定すると、アイテムの順序を反転リストを作成することができます。
numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8']
x = numbers[::-1]
print(x)
Output:
['8', '7', '6', '5', '4', '3', '2', '1', '0']
スライスでアイテムの値を変更
次のようにスライスに範囲を指定し、新しいリストを割り当てると、元のリストのデータが変更されます。
numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8']
numbers[1:3] = ['a', 'b']
print(numbers)
Output:
['0', 'a', 'b', '3', '4', '5', '6', '7', '8']
Related Posts
- Python - JSONファイル読み書きする方法
- Python - 平方根の計算方法(Square Root)
- Python - 文字列 特定文字 削除
- Python lower() 文字列を小文字に変換
- Python upper() 文字列を大文字に変換
- Python - ファイル数の確認
- Python - イテレーションステートメントでセット巡回
- Python - 文字列位置(Index)を探す
- Python - ファイルを読み込み、1行ずつリストに保存する
- UbuntuにPython 3.10をインストールする方法
- Python - 関数の定義と呼び出し方法
- Python - ディクショナリーの整理と例
- Python - ディクショナリーの初期化、4つの方法
- Python - XML生成とファイルの保存
- Python - XML解析、タグ、または要素別に読み取る
- Python - 文字列をリストに変換する方法
- Python - 'and'と'&'の違い
- Python - 文字列 切り取り(substring、slicing)
- Python - 'is'と'=='の違い
- PythonでShell Command、スクリプトの実行
- Python - 数字3桁ごとにコンマ(,)を入れる方法
- Python - 辞書をリストに変換
- Python - 文字列から数字のみを抽出する方法
- Python - zipで二つのリスト縛り
- Python - リストを文字列に変換する
- Python - 辞書にキーがあることを確認する
- Python - ファイル、フォルダが存在確認
- Python - floatをintに変更する方法
- Python - リストの最初、最後の 要素を取得する方法
- Python - bytesをStringに変換する方法
- Python - Stringをbytesに変換する方法
- Python - 辞書の重複排除方法
- Python - 二つのリスト一つ併合
- Python - リストの重複排除、4つの方法
- Python - listの先頭にデータを追加する