Pythonで配列を結合する方法を現役エンジニアが解説【初心者向け】
初心者向けにPythonで配列を結合する方法について現役エンジニアが解説しています。配列を結合するにはappendやextendメソッドを使います。appendは配列の最後に要素を追加、extendは配列を追加します。また、insertメソッドのように指定した位置に追加するメソッドもあります。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
監修してくれたメンター
nakamoto
Pythonで配列を結合する方法について、テックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
Pythonで配列を結合できると、配列を使ったプログラムをより柔軟に実装可能になります。
実務でも配列を結合することは多いので、ぜひ学習してみてくださいね。
目次
そもそもPythonについてよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。
今回は、Pythonに関する内容だね!
どういう内容でしょうか?
Pythonで配列を結合する方法について詳しく説明していくね!
お願いします!
演算子を利用した配列の結合方法
複数の配列(リスト)を結合する場合には 以下の方法があります。
+ :2つのリストを結合する
+演算子を利用することで2つのリストaとbを結合できます。
a+b
* : 指定したリストを複数回結合する
*演算子を利用することで2つのリストaとbを複数回結合できます。
a*b
append関数の結合方法
append関数はリストの最後に、指定した要素を追加する関数です。
リストや辞書を追加した場合には、そのままの型でリストが作成されます。
使い方は以下の通りです。
ここでは、listに対してelementを追加しています。
list.append(element)
extend関数の結合方法
extend関数はリストの最後に、指定したリストなどのイテラブルの各値を追加する関数です。
イテラブルとは
イテラブルとは、含まれているもの1つ1つの値を返していけるものです。
for文を使えるものという言い方もできます。
イテラブルの型としては、list, string, tupleがあります。
listはリストです。
stringは文字列です。
tupleはリストや辞書型といった複数の要素を管理するデータ型の一種です。
リストを含むイテラブルのものを指定する必要があります。
使い方は以下の通りです。
ここでは、listに対してiterableを追加しています。
list.extend(iterable)
insert関数で結合方法
insert関数はリストの指定した場所に、指定した値を追加する関数です。
使い方は以下の通りです。
ここでは、listに対してpositionで指定した位置にelementを追加しています。
list.insert(position, element)
スライスの結合方法
スライスで範囲を指定して、別のlistやtupleをすべて追加できます。
使い方は以下の通りです。
ここでは、listに対して[開始:終了]で指定した位置にelementを追加しています。
開始:取り出しを開始する位置です。
省略すると先頭の要素を指定します。
マイナスの値を指定すると、末尾から数えた位置を指定します。
終了:取り出しを終える位置です。
省略すると最後の要素まで取り出しを行います。
マイナスの値を指定すると、末尾から数えた位置を指定します。
ステップ:要素を取り出す間隔です。
省略すると既定値の1が設定されます。
ステップにマイナスの値を指定すると、末尾から要素を取り出します。
list[開始:終了:ステップ]=element
実際に書いてみよう
1. リスト同士を結合する場合
1.1 演算子を用いた場合
サンプルコード
a = [1, 2, 3, 4]
b = [4, 5, 6]
print(a + b)
print(len(a + b))
解説
a = [1, 2, 3, 4]では、aというリストを用意しています。
b = [4, 5, 6]では、bというリストを用意しています。
print(a + b)では、リストの要素をリストの最後に結合して表示しています。
print(len(a + b))では、リストの長さである7が値として表示されます。
表示結果
1.2 appendを用いた場合
サンプルコード
a = [1, 2, 3, 4]
b = [4, 5, 6]
a.append(b)
print(a)
print(len(a))
解説
a = [1, 2, 3, 4]では、aというリストを用意しています。
b = [4, 5, 6]では、bというリストを用意しています。
a.append(b)では、aにbを追加しています。
リストの型を保ったままリストの最後に結合しています。
print(a)では、aを表示しています。
print(len(a))では、リストの長さである5が値として表示されます。
表示結果
1.3 extendを用いた場合
サンプルコード
a = [1, 2, 3, 4]
b = [4, 5, 6]
a.extend(b)
print(a)
print(len(a))
解説
a = [1, 2, 3, 4]では、aというリストを用意しています。
b = [4, 5, 6]では、bというリストを用意しています。
a.extend(b)では、aにbを追加しています。
ここでは、リストの要素をリストの最後に結合しています。
print(a)では、aを表示しています。
print(len(a))では、リストの長さである7が値として表示されます。
表示結果
1.4 insertを用いた場合
サンプルコード
a = [1, 2, 3, 4]
b = [4, 5, 6]
a.insert(2, b)
print(a)
print(len(a))
解説
a = [1, 2, 3, 4]では、aというリストを用意しています。
b = [4, 5, 6]では、bというリストを用意しています。
a.insert(2, b)では、リストの型を保ったまま、2という位置を指定して結合しています。
print(a)では、aを表示しています。
print(len(a))では、リストの長さである5が値として表示されます。
表示結果
1.5 スライスを用いた場合
サンプルコード
a = [1, 2, 3, 4]
b = [4, 5, 6]
a[1:1]=b
print(a)
print(len(a))print(len(a))
解説
a = [1, 2, 3, 4]では、aというリストを用意しています。
b = [4, 5, 6]では、bというリストを用意しています。
a[1:1]=bでは、aの[1:1]の位置にbを追加しています。
print(a)では、aを表示しています。
print(len(a))では、リストの長さである7が値として表示されます。
表示結果
2. リスト以外を結合する場合
2.1数字を結合する場合
2.1.1 演算子を用いた場合
サンプルコード
a = [1, 2, 3, 4]
b =2
a=a+b
print(a)
解説
a = [1, 2, 3, 4]で、[1, 2, 3, 4]というリストを用意しています。
b =2で、数字の2を代入しています。
a=a+bで、結合しています。
しかし、数字とlistは+演算子で結合できないのでエラーが発生します。
print(a)でaを表示していますが、エラーが発生したあとの処理であるため実行されません。
表示結果
2.1.2 appendを用いた場合
サンプルコード
a = [1, 2, 3, 4]
b = 4.5
a.append(b)
print(a)
解説
a = [1, 2, 3, 4]では、リストの[1, 2, 3, 4]を作成しています。
b = 4.5では、4.5という数字を作成しています。
a.append(b)では、リストの最後に要素として追加しています。
print(a)では、リストを表示しています。
リストの最後に4.5が追加されました。
実行結果
2.1.3 extendを用いた場合
サンプルコード
a = [1, 2, 3, 4]
b = 4.5
a.extend(b)
print(a)
解説
a = [1, 2, 3, 4]では、リストを用意しています。
b = 4.5では、4.5という値を用意しています。
a.extend(b)では、リストaに変数bをextendしています。
しかし、イテラブルでないためTypeErrorが発生し追加できません。
print(a)は表示処理ですが、エラー後のため実行されません。
表示結果
2.1.4 insertを用いた場合
サンプルコード
a = [1, 2, 3, 4]
b = 4.5
a.insert(2, b)
print(a)
解説
a = [1, 2, 3, 4]では、リストの[1, 2, 3, 4]を作成しています。
b = 4.5では、4.5という数字を作成しています。
a.insert(2, b)では、リストの2の位置にbを要素として追加しています。
print(a)では、リストを表示しています。
表示結果のように、リストのインデックスの2の位置に4.5が追加されました。
表示結果
2.1.5 スライスを用いた場合
サンプルコード
a = [1, 2, 3, 4]
b = 4.5
a[1:1]=b
print(a)
解説
a = [1, 2, 3, 4]では、リストを用意しています。
b = 4.5では、4.5という値を用意しています。
a[1:1]=bでは、リストaの[1:1]の位置に変数bをスライス結合しています。
しかし、イテラブルでないためTypeErrorが発生し追加できません。
print(a)は表示処理ですが、エラー後のため実行されません。
表示結果
2.2文字列を結合する場合
2.2.1 演算子を用いた場合
サンプルコード
a = [1, 2, 3, 4] b = "テックアカデミー" a=a+b print(a)
解説
a = [1, 2, 3, 4]では、リストaを作成しています。
b = “テックアカデミー”では、変数bにテックアカデミーという文字列を代入しています。
a=a+bでは、結合していますが、+演算子を利用して、listと文字列の結合はできないためTypeErrorが発生します。
print(a)では変数aを表示しています。
表示結果
2.2.2 appendを用いた場合
サンプルコード
a = [1, 2, 3, 4]
b = "テックアカデミー"
a.append(b)
print(a)
解説
a = [1, 2, 3, 4]では、リストaを作成しています。
b = “テックアカデミー”では、変数bにテックアカデミーという文字列を代入しています。
a.append(b)では、aにbを結合しています。
print(a)ではaを表示しています。
表示結果
2.2.3 extendを用いた場合
コード
a = [1, 2, 3, 4]
b = "テックアカデミー"
a.extend(b)
print(a)
解説
a = [1, 2, 3, 4]では、リストaを作成しています。
b = “テックアカデミー”では、変数bにテックアカデミーという文字列を代入しています。
a.extend(b)では、aにbをextend結合しています。
テキストはイテラブルとなるため、1文字ずつ要素としてリストの最後に追加しています。
print(a)ではaを表示しています。
表示結果
2.2.4 insertを用いた場合
サンプルコード
a = [1, 2, 3, 4]
b = "テックアカデミー"
a.insert(2, b)
print(a)
解説
a = [1, 2, 3, 4]では、リストaを作成しています。
b = “テックアカデミー”では、変数bにテックアカデミーという文字列を代入しています。
a.insert(2, b)では、aの2の位置にbをinsert結合しています。
テキストを1つの要素として、リストの指定した位置に追加しているということです。
print(a)ではaを表示しています。
表示結果
2.2.5 スライスを用いた場合
コード
a = [1, 2, 3, 4]
b = "テックアカデミー"
a[1:1]=b
print(a)
解説
a = [1, 2, 3, 4]では、リストaを作成しています。
b = “テックアカデミー”では、変数bにテックアカデミーという文字列を代入しています。
a[1:1]=bでは、aの2の位置にbをスライス結合しています。
print(a)ではaを表示しています。
表示結果
まとめ
今回は配列を結合する方法について紹介しました。
Pythonでは基本的に変数の型を意識しなくてもコーディング可能ですが、書き方によってはErrorの原因になります。
使用した方法とあわせて、Errorの回避方法を考えておくことが重要です。
内容が分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
Pythonを学習中の方へ
これで解説は終了です、お疲れさまでした。
- つまずかず「効率的に」学びたい
- 副業や転職後の「現場で使える」知識やスキルを身につけたい
プログラミングを学習していて、このように思ったことはありませんか?
テックアカデミーのPythonコースでは、第一線で活躍する「プロのエンジニア」が教えているので、効率的に実践的なスキルを完全オンラインでしっかり習得できます。
合格率10%の選考を通過した、選ばれたエンジニアの手厚いサポートを受けながら、人工知能(AI)や機械学習の基礎を学べます。
まずは一度、無料体験で学習の悩みや今後のキャリアについて話してみて、「現役エンジニアから教わること」を実感してみてください。
時間がない方、深く知ってから体験してみたい方は、今スグ見られる説明動画から先に視聴することをおすすめします!