リスト 文法・環境

【python】リスト(list)の結合、連結、要素の追加【append、insert、extend、join】

pythonの、リスト(list)の結合・連結、要素の追加方法を紹介します。

サンプルコードを交えながら1つずつ紹介します。

この記事で分かること

  • append : 最後に要素を追加
  • insert : 指定位置に要素を追加
  • extend : 最後にリストを連結
  • join : 文字列型の要素を連結して、1つの文字列にする
  • 「+」演算子でリストを結合・連結
  • 「+=」演算子でリストを追加
  • スライスを用いて、指定位置にリストを連結・挿入

スポンサーリンク

append : 最後に要素を追加

appendメソッドを用いることで、リストの最後に要素を追加できます

書き方

リスト.append( 要素 )

以下、サンプルコードです。

### appendのサンプルコード1
fruits = ["Apple", "Banana", "Orange"]
print(fruits)
# ['Apple', 'Banana', 'Orange']

fruits.append("Grape")
print(fruits)
# ['Apple', 'Banana', 'Orange', 'Grape']

"append" の引数としてリストを指定した場合、要素として追加されます。

結合にはならないので注意してください。

### appendのサンプルコード2
fruits = ["Apple", "Banana", "Orange"]
print(fruits)
# ['Apple', 'Banana', 'Orange']

num_list = [1, 2, 3]
fruits.append(num_list)
print(fruits)
# ['Apple', 'Banana', 'Orange', [1, 2, 3]]

スポンサーリンク

insert : 指定位置に要素を追加(挿入)

insertメソッドを用いることで、リストの指定位置に要素を追加(挿入)できます

書き方

リスト.insert(インデックス, 要素)

以下、サンプルコードです。

### insertのサンプルコード1
fruits = ["Apple", "Banana", "Orange"]
print(fruits)
# ['Apple', 'Banana', 'Orange']

fruits.insert(1, "Grape")
print(fruits)
# ['Apple', 'Grape', 'Banana', 'Orange']

"append" の場合と同様に、

引数としてリストを指定した場合、要素として追加されます。

結合にはならないので注意してください。

### insertのサンプルコード2
fruits = ["Apple", "Banana", "Orange"]
print(fruits)
# ['Apple', 'Banana', 'Orange']

num_list = [1, 2, 3]
fruits.insert(1, num_list)
print(fruits)
# ['Apple', [1, 2, 3], 'Banana', 'Orange']

extend : 最後にリストを連結

extendメソッドを用いることで、リストの最後に別のリストを連結できます

書き方

リスト.extend( リスト )

以下、サンプルコードです。

### extendのサンプルコード
fruits = ["Apple", "Banana", "Orange"]
print(fruits)
# ['Apple', 'Banana', 'Orange']

num_list = [1, 2, 3]
fruits.extend(num_list)
print(fruits)
# ['Apple', 'Banana', 'Orange', 1, 2, 3]

なお、リストを連結しても、各要素のデータ型は保持されます。

print(type(fruits[0]))

# <class 'str'>

print(type(fruits[3]))

# <class 'int'>

スポンサーリンク

join : 文字列型の要素を連結して、1つの文字列にする

文字列型の要素だけが含まれるリストの場合は、join関数を用いることで、1つの文字列に連結することができます

書き方

'区切り文字'.join( リスト )

"区切り文字なし" の場合のサンプルコードです。

### joinのサンプルコード1
example_list = ['I', 'have', 'a', 'pen']
print(example_list)
# ['I', 'have', 'a', 'pen']

example = ''.join(example_list)
print(example)
# Ihaveapen

確かに、リスト内の各文字列型の要素が連結されていますが、

区切られていないと理解しにくいですね。

"区切り文字にカンマを指定した場合" のサンプルコードです。

### joinのサンプルコード2
example_list = ['I', 'have', 'a', 'pen']
print(example_list)
# ['I', 'have', 'a', 'pen']

example = ' '.join(example_list)
print(example)
# I have a pen

区切り文字があると、1つの文字列に結合した後も、中身が理解しやすいですね。

以下は、リストの要素に、文字列型以外のデータ型の要素が含まれる場合のサンプルコードです。

joinで結合する前に、リスト内のすべての要素を文字列型に変換する必要があります。

下記の例では、map関数でリストの要素を文字列型に変換しています。

### joinのサンプルコード3
example_list = ["Apple", "Banana", "Orange", 100, 200, 300]
print(example_list)
# ['Apple', 'Banana', 'Orange', 100, 200, 300]

example_list_str = map(str, example_list)
example = ','.join(example_list_str)
print(example)
# Apple,Banana,Orange,100,200,300

「+」演算子でリストを結合・連結

「+」演算子を用いても、extendと同様に、リストの最後にリストを結合できます

書き方

リスト + リスト

以下、サンプルコードです。

### 「+」演算子のサンプルコード
fruits_1 = ["Apple", "Banana", "Orange"]
fruits_2 = ["Grape", "Mango", "Lemon"]

fruits_3 = fruits_1 + fruits_2
print(fruits_3)
# ['Apple', 'Banana', 'Orange', 'Grape', 'Mango', 'Lemon']

スポンサーリンク

「+=」演算子でリストを追加

「+=」演算子も、リストとリストを結合しますが、1つ目のリストのデータを書き換えます。

書き方

リスト += リスト

以下、サンプルコードです。

### 「+=」演算子のサンプルコード
fruits_1 = ["Apple", "Banana", "Orange"]
fruits_2 = ["Grape", "Mango", "Lemon"]

fruits_1 += fruits_2
print(fruits_1)
# ['Apple', 'Banana', 'Orange', 'Grape', 'Mango', 'Lemon']

スライスを用いて、指定位置にリストを連結・挿入

リストのスライスを用いても、指定位置にリストを挿入できます

書き方

リスト[ インデックス : インデックス ] = リスト

以下、サンプルコードです。

### スライスのサンプルコード1
fruits_1 = ["Apple", "Banana", "Orange"]
fruits_2 = ["Grape", "Mango", "Lemon"]

fruits_1[1:1] = fruits_2
print(fruits_1)
# ['Apple', 'Grape', 'Mango', 'Lemon', 'Banana', 'Orange']

リストの範囲を指定することで、要素を置換することもできます。

### スライスのサンプルコード2
fruits_1 = ["Apple", "Banana", "Orange"]
fruits_2 = ["Grape", "Mango", "Lemon"]

fruits_1[1:2] = fruits_2
print(fruits_1)
# ['Apple', 'Grape', 'Mango', 'Lemon', 'Orange']

スポンサーリンク

まとめ

pythonのリスト(list)の結合・連結、要素の追加方法について紹介していきました。

特に、append、extendは使用頻度が高いメソッドですので、しっかり使いこなせるようにしておきましょう。

スポンサーリンク

-リスト, 文法・環境
-,