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]
コメント