リストへ要素を追加する方法にはいくつか方法があります。末尾に追加(append)、任意の位置に挿入(insert)および、リスト同士を連結(extend)など。本記事では、これらの使い方についてまとめます。
# 2019/2/7 記事更新
確認した環境
- OS: Ubuntu 16.04LTS
- Python: ver3.6.4
末尾に要素を追加する(append)
リストの末尾に要素を追加するには、append()メソッドを使います。
下記に示す通り、追加するデータを引数に設定します。
>>> l = ['a', 'b', 'c']
>>> l.append('d') # リストの末尾に要素を追加
>>> l
['a', 'b', 'c', 'd']
任意の位置に挿入する(insert)
リストの任意の位置に要素を挿入する場合は、insert()メソッドを使います。
以下の通り、第一引数に挿入する位置をインデックスで指定し、第二引数に挿入するデータを設定します。
>>> l = ['a', 'b', 'c']
>>> l.insert(1, 'X') # 1番目の要素の前に追加
>>> l
['a', 'X', 'b', 'c']
任意の位置に挿入する(スライス表記)
listのスライス表記を使っても挿入できます。この場合は複数の要素を指定できます。
>>> l = ['a', 'b', 'c']
>>> l[1:1] = ['X', 'Y'] # 1番目の要素の前に追加
>>> l
['a', 'X', 'Y', 'b', 'c']
これをinsert()メソッドを使ってやろうとすると、下記のように2重配列の形になってしまい、ちょっと具合がわるいです。
>>> l = ['a', 'b', 'c']
>>> l.insert(1, ['X', 'Y'])
>>> l
['a', ['X', 'Y'], 'b', 'c'] # 二重配列になってしまう。。
リストを連結する
extend()メソッドを使う
リストを連結させるには、extend()メソッドを使います。
>>> l = ['a', 'b', 'c']
>>> m = ['X', 'Y', 'Z']
>>> l.extend(m)
>>> l
['a', 'b', 'c', 'X', 'Y', 'Z']
+演算子を使う
+演算子を使うと、もっと簡単に連結できます
>>> l = ['a', 'b', 'c']
>>> m = ['X', 'Y', 'Z']
>>> l+m
['a', 'b', 'c', 'X', 'Y', 'Z']
上記は元のリストは変わりませんが、以下のようにすると元のリストが更新されます。
>>> l += m
>>> l
['a', 'b', 'c', 'X', 'Y', 'Z']
<参考記事> 要素の削除方法については下記記事でまとめていますのでご参照ください!
まとめ
リストの要素の追加、挿入、連結についてまとめました。