【Python】リストの先頭や途中にリストを挿入(スライス)

IT
  • スライス構文でリストに複数の値を挿入する場合
  • 単一の値でも可能だが、その場合はappendinsertの方が(個人的に)使いやすい
  • スライス構文でできることは、リストに値を挿入するだけではないが、今回はこのテーマに絞る

記法

  • リストAの途中にリストBを挿入したい場合
リストA[【挿入したい位置】:【挿入したい位置】] = [【リストB】]
  • 【挿入したい位置】は0番目から数える

サンプルコード

コード

# リスト
letters = ['a', 'b', 'e', 'f']

# インデックス2の位置にcとdを挿入
letters[2:2] = ['c', 'd']
print("cとdの挿入後:", letters)

実行結果

cとdの挿入後: ['a', 'b', 'c', 'd', 'e', 'f']

補足

  • リストA[【挿入したい位置】:【挿入したい位置】]がスライス構文
  • 通常`リスト[【開始位置】,【終了位置】]のような使い方をする
    • listA[2:3]
  • 開始位置と終了位置を同じにした場合、空の範囲が選択され、「置き換え」ではなく「挿入」になる
  • 例えばコードのletters[2:2] = ['c', 'd']

    • letters[2:3] = ['c', 'd']にした場合の出力はcとdの挿入後: ['a', 'b', 'c', 'd', 'f']
    • letters[2:4] = ['c', 'd']にした場合の出力はcとdの挿入後: ['a', 'b', 'c', 'd']

    となる

  • 範囲の要素が「挿入」ではなく「置き換わる」

コメント

タイトルとURLをコピーしました