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は使用頻度が高いメソッドですので、しっかり使いこなせるようにしておきましょう。
スポンサーリンク