Python でリストの先頭に追加する

Rayven Esplanada 2023年1月30日
  1. Python でリストの先頭に要素を追加するには insert() を使用する
  2. Python で+ 演算子を使ってリストの先頭に要素を追加する
  3. 解凍を用いてリストの先頭に要素を挿入する
Python でリストの先頭に追加する

このチュートリアルでは、Python でリストの先頭に要素を追加する方法について、さまざまな方法をデモします。

チュートリアル全体を通して、リスト挿入のアプローチは、リストにどのようなデータ型が含まれていても同じであるべきなので、様々なデータ型を挿入するのではなく、リスト挿入に焦点を当てるために、整数のリストを例として使用します。

Python でリストの先頭に要素を追加するには insert() を使用する

関数 insert() は既存のリストの指定されたインデックスに要素を挿入します。挿入するインデックスと挿入する値の 2つのパラメータを受け取ります。

insert(idx, value)

例えば、サイズ 5 の既存のリストに要素を挿入します。この関数を使ってリストの先頭に要素を追加するには、最初の引数に 0 を設定します。

int_list = [13, 56, 5, 78, 100]

int_list.insert(0, 24)

print(int_list)

出力:

[24, 13, 56, 5, 78, 100]

Python で+ 演算子を使ってリストの先頭に要素を追加する

リストの先頭に要素を追加するもう一つの方法は、+ 演算子を使うことです。複数のリストに対して + 演算子を使うと、指定した順番でリストを結合します。

list1 + list2 を一緒に追加すると、list1 の最後の要素の後に list2 のすべての要素を連結します。例えば、+ 演算子を使って既存のリストの先頭に単一の整数を追加してみましょう。

to_insert = 56
int_list = [13, 5, 78, 19, 66]

int_list = [to_insert] + int_list

print(int_list)

変数 to_insert は角括弧 [] で囲まれていることに注目してください。これは単一の整数をリストのデータ型に変換してリストの追加を可能にするために行われます。

出力:

[56, 13, 5, 78, 19, 66]

解凍を用いてリストの先頭に要素を挿入する

解凍は Python の操作で、ユニークな反復可能な操作を可能にします。解凍により、開発者はイテレートブルの割り当てをより柔軟かつ効率的に行うことができます。

また、解凍は既存のイテレートブルをマージすることもできます。

アンパッキングを使ってリストの先頭に要素を追加するには、アンパッキング演算子 * を使って単一の整数と既存のリストをマージし、整数を新たに形成されたリストの先頭に配置します。

to_insert = 7
int_list = [19, 22, 40, 1, 78]

int_list = [to_insert, *int_list]

print(int_list)

出力:

[7, 19, 22, 40, 1, 78]

性能的には、アンパッキングを使うのが、前述したすべての解決策の中で最も速いです。insert() メソッドは、アンパッキングに次ぐ速さです。演算子 + を使うと、上で述べた両方の方法よりもかなり遅くなります。

かなりの数の要素を持つリストの先頭に挿入する場合は、解決策か insert() のどちらかを使った方が実行速度が速くなります。

Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

関連記事 - Python List