ユーニックス総合研究所

  • home
  • archives
  • python-array-add

Pythonでリスト(配列)に普通に要素を追加する方法

  • 作成日: 2021-05-04
  • 更新日: 2023-12-24
  • カテゴリ: Python

Pythonのリスト(配列)に要素を追加する

Pythonではリスト(配列)に要素を追加することができます。
要素を追加することでリストの内容を変化させ、柔軟なプログラミングを可能にします。

Pythonのリストに要素を追加する代表的な方法は↓の通りです。

  • append()で末尾に追加する
  • extend()でリスト同士を連結する
  • insert()で指定位置に追加する

結論から言うと↓のようなコードになります。

# 追加  
lis = [1, 2]  
lis.append(3)  # 3という値をlisの末尾に追加する  
print(lis)  
# [3]  

# 挿入  
lis = [1, 2]  
lis.insert(0, 3)  # lisの0番目の位置に値3を挿入する  
print(lis)  
# [3, 1, 2]  

# 連結  
lis1 = [1, 2]  
lis2 = [3, 4]  
lis1.extend(lis2)  # lis1の末尾にlis2を連結する  
print(lis1)  
# [1, 2, 3, 4]  

この記事ではPythonによるリストへの要素の追加方法を解説します。

リストに要素を追加するということ

リストに要素を追加するというのはどういうことでしょうか?
まずPythonのリストはなんなのかというと、これは配列というデータ構造です。
ちなみに連結リストなどのデータ構造もありますが、Pythonのリストの実装は配列になっているのでご注意ください。

🦝 < リストなのに配列なんだって

Pythonのリストは配列ですが、この配列は可変長配列になっています。
つまり自由にその大きさを変えられる配列のことを言います。

可変長配列は↓のようなものです。

[1, 2, 3, 4]  

↑の1234が配列内の要素です。
左側(1側)が配列の先頭で、右側(4側)が配列の末尾です。
要素とは値で、値は要素です。配列は要素の集まりと見ることができます。
この配列の末尾に5という要素を追加すると↓のようになります。

[1, 2, 3, 4, 5]  

配列の末尾に5が追加されました。
配列全体の大きさも追加に合わせて変わっていますが、これが可変長配列の特徴です。
この「追加」に相当する機能がリストのappend()です。

また配列の先頭に5という要素を挿入してみます。

[5, 1, 2, 3, 4]  

配列の先頭に5が挿入されました。
この「挿入」に相当する機能がリストのinsert()です。

では次に↓のような別の配列を用意します。

[5, 6, 7]  

↑の配列を先ほどの配列の末尾に連結すると↓のようになります。

[1, 2, 3, 4, 5, 6, 7]  

連結されました。この「連結」に相当する機能がリストのextend()です。

append()で末尾に追加する

リストの末尾に要素を追加するにはリストのメソッドappend()を使います。

append()は↓のような構造になっています。

list.append(x)  

xが要素です。append()は引数を1つ取り、この引数がリストの末尾に追加されます。
↓がサンプルコードです。

lis = [1, 2, 3]  

lis.append(4)  # 4という値をlisの末尾に追加する  
print(lis)  
# [1, 2, 3, 4]  

lis.append(5)  # 5という値をlisの末尾に追加する  
print(lis)  
# [1, 2, 3, 4, 5]  

値は整数だけでなく文字列やリストやタプル、辞書や集合などあらゆるオブジェクトを追加することができます。

extend()でリスト同士を連結する

extend()は別のリストをリストに連結するメソッドです。

その構造は↓のようになっています。

list.extend(iterable)  

extend()の第1引数(iterable)に連結したいオブジェクトを指定します。
iterableとあるように、第1引数に指定できるオブジェクトはリストに限りません。
タプルや辞書など、for文で回せるオブジェクトは何でも渡すことができます。

extend()は↓のように使います。

lis = [1, 2, 3]  

lis.extend([4, 5])  
print(lis)  
# [1, 2, 3, 4, 5]  

lis.extend((6, 7))  
print(lis)  
# [1, 2, 3, 4, 5, 6, 7]  

lis.extend({'a': 1, 'b': 2})  
print(lis)  
# [1, 2, 3, 4, 5, 6, 7, 'a', 'b']  

insert()で指定位置に追加する

リストの指定の位置に要素を挿入するにはリストのメソッドinsert()を追加します。

insert()は↓のような構造になっています。

ist.insert(i, x)  

insert()の第1引数(i)には挿入位置を指定します。
第2引数のxは挿入したい要素を指定します。

第1引数の挿入位置はリスト内の添え字です。
たとえば挿入位置が0ならinsert()はリスト内の0番目の位置に要素を挿入します。
挿入位置が1なら1番目の位置に挿入です。
挿入すると後ろにある既存の要素は後ろにずれていきます。

lis = [1, 2, 3]  

lis.insert(0, 4)  # lisの0番目の位置に値4を挿入する  
print(lis)  
# [4, 1, 2, 3]  

lis.insert(2, 5)  # lisの2番目の位置に値5を挿入する  
print(lis)  
# [4, 1, 5, 2, 3]  

insert()に渡す要素も整数に限らずあらゆるデータを指定することができます。

おわりに

今回はPythonのリストに要素を追加する方法を解説しました。
リストは便利なデータ構造で使う機会が多いかと思います。

🦝 < リストなしでは生きられない身体になってしまった

🐭 < リスト中毒