リストへの要素の追加方法まとめ【Python】

append

appendはリストの末尾に要素を追加するための関数です。

lst = [1, 2]
lst.append(3)
print(lst)
# [1, 2, 3]
lst.append([4, 5])
print(lst)
# [1, 2, 3, [4, 5]]

ちなみに、ドキュメントによるとappend関数は下記コードによる方法と等価であるようです。

lst = [1, 2]
lst[len(lst):] = [3]
print(lst)
# [1, 2, 3]

insert

insertは指定の位置に要素を追加することができる関数です。追加される要素のインデックスは、指定した追加する位置になります。

<リスト>.insert(<追加する位置>, <要素>)
lst = [1, 2]
lst.insert(1, 'inserted')
print(lst)
# [1, 'inserted', 2]

extend

extendはリストに他のリストの要素を追加するために使用します。

lst1 = [1, 2]
lst2 = ['lst', 'for', 'extend']
lst1.extend(lst2)
print(lst1)
# [1, 2, 'lst', 'for', 'extend']
print(lst2)
# ['lst', 'for', 'extend']

厳密にはリストではなく、イテラブルであれば追加に使用することができます。

lst1 = [1, 2]
tup2 = (3, 4)
lst1.extend(tup2)
print(lst1)
# [1, 2, 3, 4]

+

extendを使わずとも+を利用することで、リストを結合することができます。ただし、この方法はイテラブルではなく、リスト同士の結合にしか利用できないため、イテラブルを追加したい場合はextendを使いましょう。

lst1 = [1, 2]
lst2 = [3, 4]

lst1 = lst1 + lst2
print(lst1)
# [1, 2, 3, 4]

*による展開を利用

この方法はJavaScriptのスプレッド構文でよく利用される方法だと思います。Pythonでも同じようなことができたので、紹介します。

Pythonでリストを展開するには*を使用します。*でリストを展開し、再度リストを構築することで要素の追加を実現することができます。また、リストの結合や要素の追加を一括で行えるため自由度が高い方法だと思います。

lst1 = [1, 2]
lst2 = [3, 4]

lst1 = [*lst1, 99, *lst2]
print(lst1)
# [1, 2, 99, 3, 4]

コメント