- スライス構文でリストに複数の値を挿入する場合
- 単一の値でも可能だが、その場合は
append
やinsert
の方が(個人的に)使いやすい - スライス構文でできることは、リストに値を挿入するだけではないが、今回はこのテーマに絞る
記法
- リスト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']
となる
- 範囲の要素が「挿入」ではなく「置き換わる」
コメント