・IT/Web系エンジニアの経験者の方
・どこの転職エージェントを利用しようか迷っている方
それなら、キッカケエージェントにご相談!
キッカケエージェントでは、少数精鋭のエージェントが、エンジニアの経験やスキル、志向性などをカウンセリングし、的確なアドバイスを提供します!
また、徹底した企業へのヒアリングにより、最適なマッチングを実現し、今では内定率が一般的なエージェントの2倍以上となっています!
転職エージェントに迷っている方、まずは無料でキャリア相談から!
(この記事は2024年03月07日に投稿されました。)
PythonでList(リスト)内の指定した要素を追加するにはappend()使用します。
append()とは、イテレータに指定した要素を追加する関数になります。
指定した値を追加ため、List(リスト)に対してappend()を使用することでリストの末尾に要素を追加することができます。
そしてappend()は複数の要素を追加したり、2次元List(リスト)や3次元List(リスト)のような多次元リストにも要素を追加したりすることができます。
インデックスを気にすることなく要素を追加できるためもし、List(リスト)に要素を追加したいと思った場合はappend()を使用しましょう。
今回はPythonのappend()でList(リスト)に要素を追加する方法について紹介していきます。
List(リスト)へ指定した要素を追加したい場合
append()とは
append()とはイテレータから指定した要素を取り除くことができる関数になります。
そのため、List(リスト)に対して使用することで指定した要素をリストに追加します。
また、指定した要素はList(リスト)の末尾へ自動で追加されるようになります。
append()の書き方
append()の書き方は下記のようになります。
1 | 対象のList(リスト).append('追加する要素') |
対象のList(リスト)の後ろにappend()と追記し、括弧の中に必須のパラメータを指定することで使用することができます。
append()のパラメータ
append()のパラメータは下記のようになります。
- 追加する要素:(必須)
List(リスト)から追加したい要素を指定する。
append()は必須なパラメータとして「追加する要素」を指定します。
append()の返り値
append()の返り値はありません。
append()でList(リスト)に要素を追加するサンプルコード
append()でList(リスト)に要素を追加するサンプルコードをご紹介します。
ここでは下記の2パターンでappend()を使用します。
- 追加する要素を指定する場合
- 追加する要素を指定しない場合
追加する要素を指定する場合
追加する要素を指定する場合にappend()を使用すると、対象のリストに指定した要素が追加されます。
● main.py
1 2 3 4 5 6 7 | print('● 対象のリスト') list1 = ['JavaScript', 'PHP', 'Python', 'C#', 'Java'] print(list1) print("● append()使用後") list1.append('Ruby') print(list1) |
実行結果
append()でList(リスト)に対象の要素を追加しています。
そのため、「Ruby」がList(リスト)の要素として追加されています。
追加する要素を指定しない場合
追加する要素を指定しない場合にappend()を使用すると、エラーが発生します。
● main.py
1 2 3 4 5 6 7 | print('● 対象のリスト') list1 = ['JavaScript', 'PHP', 'Python', 'C#', 'Java'] print(list1) print("● append()使用後") list1.append() print(list1) |
実行結果
append()にパラメータを指定していないため、エラーが発生しています。
append()でList(リスト)に様々な型の要素を追加する場合
append()は文字列型のデータだけでなく、他の型のデータを要素として追加することができます。
ここではappend()を使用して下記の4つの型の要素をList(リスト)に追加します。
- 追加する要素が数値型である場合
- 追加する要素がBool型である場合
- 追加する要素がNoneである場合
- 追加する要素がイテレータである場合
追加する要素に数値を指定する場合
追加する要素に数値を指定してappend()を使用すると、要素としてList(リスト)に追加します。
● main.py
1 2 3 4 5 6 7 | print('● 対象のリスト') list1 = [175, 346, 678, 968, 258, 2] print(list1) print('● append()使用後') list1.append(10000) print(list1) |
実行結果
append()でList(リスト)に対象の要素を追加しています。
そのため、List(リスト)内に「10000」の要素が追加されています。
追加する要素に真偽値を指定する場合
追加する要素に真偽値を指定してappend()を使用すると、要素としてList(リスト)に追加します。
● main.py
1 2 3 4 5 6 7 | print('● 対象のリスト') list1 = [False, True] print(list1) print('● append()使用後') list1.append(False) print(list1) |
実行結果
append()でList(リスト)に対象の要素を追加しています。
そのため、List(リスト)内に「false」の要素が追加されています。
追加する要素にNoneを指定する場合
追加する要素にNoneを指定してappend()を使用すると、要素としてList(リスト)に追加します。
● main.py
1 2 3 4 5 6 7 | print('● 対象のリスト') list1 = [] print(list1) print('● append()使用後') list1.append(None) print(list1) |
実行結果
append()でList(リスト)に対象の要素を追加しています。
そのため、List(リスト)内に「None」の要素が追加されています。
追加する要素にイテレータを指定する場合
追加する要素にイテレータを指定してappend()を使用すると、要素としてList(リスト)に追加します。
● main.py
1 2 3 4 5 6 7 | print('● 対象のリスト') list1 = ['JavaScript', 'PHP', 'Python', 'C#', 'Java'] print(list2) print("● append()使用後") list1.append(['Ruby', 'C++', 'Swift']) print(list1) |
実行結果
append()でList(リスト)に対象の要素を追加しています。
今回は追加する要素がリストであるため、対象のList(リスト)の中にリスト1つのが1つの要素として追加されています。
append()で多次元List(リスト)に要素を追加するサンプルコード
append()は1次元リストだけでなく、多次元List(リスト)の要素を追加することもできます。
多次元List(リスト)の場合はリストの中にリストが存在するため、繰り返し処理で深い階層にアクセスして処理を行う必要があります。
そのため、ここではappend()で多次元List(リスト)に要素を追加するサンプルコードをご紹介します。
2次元List(リスト)の場合
2次元List(リスト)に対してappend()を使用します。
● main.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | print('● 対象の2次元リスト') list1 = [ [1, 2, 3, 4, 5], [10, 20, 30, 40, 50], [100, 200, 300, 400, 500], [1000, 2000, 3000, 4000, 5000] ] print(list1) print('● append()使用後(1次元リスト)') for list1_n in list1: list1_n.append(9999) print(list1) print('● append()使用後(2次元リスト)') list1.append([10000, 20000]) print(list1) |
実行結果
append()で2次元(リスト)に指定した要素を追加しています。
そのため、「9999」が2次元List(リスト)内の各1次元List(リスト)の要素に追加され、「[10000, 20000]」が2次元List(リスト)の要素として追加されています。
3次元List(リスト)の場合
3次元List(リスト)に対してappend()を使用します。
● main.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | print('● 対象の3次元リスト') list1 = [ [['JavaScript', 'C#'],['Python', 'Swift'], ['Ruby']], [['Kotlin', 'Go'],['C', 'C++'], ['R']] ] print(list1) print('● append()使用後(各1次元リスト)') for list1_n in list1: for list1_nm in list1_n: list1_nm_append = list1_nm.append('HTML') print(list1) print('● append()使用後(各2次元リスト)') for list1_n in list1: list1_n_append = list1_n.append(['PHP']) print(list1) print('● append()使用後(3次元リスト)') list1_append = list1.append([['Perl', 'Java']]) print(list1) |
実行結果
append()3次元(リスト)に指定した要素を追加しています。
そのため、「9999」が2次元List(リスト)内の各1次元List(リスト)の要素に追加され、「[10000, 20000]」が2次元List(リスト)の要素として追加されています。
append()でList(リスト)に複数の要素を追加する場合
append()でList(リスト)に複数の要素を追加するには繰り返し処理を使用します。
繰り返し処理とは、指定した処理を複数繰り返す処理になります。
そのため、append()を繰り返して使用することでList(リスト)に複数の要素を追加することが可能になります。
● main.py
1 2 3 4 5 6 7 8 9 10 11 12 | print('● 対象のリスト') list1 = ['JavaScript', 'PHP', 'Python', 'C#', 'Java'] print(list1) print("● 追加する要素") list1_add = ['Ruby', 'C++', 'Swift'] print(list1_add) print("● append()使用後") for list1_add_item in list1_add: list1.append(list1_add_item) print(list1) |
実行結果
append()でList(リスト)に複数の要素を追加しています。
そのため、「Ruby」、「C++」、「Swift」の要素がList(リスト)に追加されています。
append()を使用した実際のケース
append()を使用した実際のケースについてご紹介します。
例えば、append()を使用して入力したデータを登録して画面に表示するようなコードを作成します。
● index.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <!DOCTYPE html> <html lang="ja"> <head> <title>append()でList(リスト)に要素を追加する</title> <meta charset="utf-8"/> </head> <body> <h2>登録する内容を入力</h2> <form action="/" method="POST"> <div> <input type=text name='item'> </div> <button type="submit">登録</button> </form> <div> <p>{{ ret_msg }}</p> <h2>登録内容</h2> <ul> {% for item in items %} <li>{{ item }}</li> {% endfor %} </ul> </div> </body> </html> |
● main.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | from flask import Flask, render_template, request app = Flask(__name__) reg_list = [] msg = '' @app.route('/') def index(): return render_template('index.html', items = reg_list, ret_msg = msg) @app.route('/', methods=['POST']) def result(): try: item = request.form.get('item') if item != '': if reg_list.count(item) == 0 : reg_list.append(item) msg = '登録が完了しました。' else: msg = '既にデータが登録されています。' else: msg = '入力内容が空です。' except Exception as e: msg = '処理が途中で終了しました。' print(e) finally: return render_template('index.html', items = reg_list, ret_msg = msg) if __name__ == '__main__': app.run() |
実行結果(成功時)
実行結果(失敗時)
append()で入力したデータを登録して画面に表示しています。
今回は下記のような流れで登録処理を行っています。
- 入力した値を受け取り、count()にて入力したデータがList(リスト)内にいくつあるかを検索。
(0個の場合は「2」の処理を、それ以外の場合は「3」の処理を行う。) - append()でList(リスト)に追加し、登録完了のメッセージと入力したデータを画面に表示。
- List(リスト)への追加は行わず、エラーメッセージを画面に表示。
そのため、入力欄で入力した「テスト-1」と「テスト-2」が登録されて画面に表示されています。
また、「テスト-2」は一度登録したためエラーが発生しています。
List(リスト)に要素を追加する他の方法
Pythonではappend()以外でもリストから要素を追加する関数が存在します。
そのため、ここではappend()以外でList(リスト)から要素を追加する方法についてご紹介します。
extend()
extend()とはイテレータに指定した要素を追加する関数になります。
そのため、List(リスト)に対して使用することでリストから対象の要素を追加することができまます。
● main.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | print('● 対象のリスト-1') list1 = [175, 346, 678, 968, 258, 2] print(list1) print('● extend()使用後-1') list1.extend([456]) print(list1) print('● 対象のリスト-2') list2 = ['JavaScript', 'PHP', 'Python', 'C#', 'Java'] print(list2) print("● extend()使用後-2") list2.extend(['Swift']) print(list2) |
実行結果
extend()でList(リスト)から対象の要素を追加しています。
そのため、「456」と「Swift」の要素が各リスト(List)に追加されています。
もし、extend()について詳しく知りたい場合は下記の記事をご参照ください。
insert()
insert()とは、対象の要素をList(リスト)の指定した箇所に追加する関数になります。
そのため、今回紹介しているappend()に比べて、List(リスト)の追加したい位置に要素を追加することができます。
● main.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | print('● 対象のリスト-1') list1 = [175, 346, 678, 968, 258, 2] print(list1) print("● insert()使用後-1") list1.insert(4, 9999) print(list1) print('● 対象のリスト-2') list2 = ['JavaScript', 'PHP', 'Python', 'C#', 'Java'] print(list2) print("● insert()使用後-2") list2.insert(2, 'Ruby') print(list2) |
実行結果
insert()で要素をList(リスト)に追加しています。
そのため、「9999」の要素がリスト(List)の4番目の箇所に、「Ruby」の要素がリスト(List)の2番目の箇所に追加されています。
もし、insert()について詳しく知りたい場合は下記の記事をご参考ください。
+演算子
+演算子を使用することで、リスト同士の結合を行うことができます。
そのため、List(リスト)に使用すると、リストに格納された全ての要素を追加することができます。
● main.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | print('● 対象のリスト-1') list1 = [175, 346, 678, 968, 258, 2] print(list1) print("● +演算子使用後-1") list1 = list1 + [900] print(list1) print('● 対象のリスト-2') list2 = ['JavaScript', 'PHP', 'Python', 'C#', 'Java'] print(list2) print("● +演算子使用後-2") list2 = list2 + ['C++'] print(list2) |
実行結果
+演算子で要素をList(リスト)に追加しています。
そのため、「900」と「C++」の要素が各リスト(List)に追加されています。
List(リスト)から対象の要素を削除する場合
List(リスト)から対象の要素を削除する場合はremove()を使用します。
remove()とは、イテレータから対象の要素を追加する関数になります。
そのため、List(リスト)に対して使用することで、リストから対象の要素を削除することができます。
● main.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | print('● 対象のリスト-1') list1 = [175, 346, 678, 968, 258, 2] print(list1) print("● remove()使用後-1") list1.remove(346) print(list1) print('● 対象のリスト-2') list2 = ['JavaScript', 'PHP', 'Python', 'C#', 'Java'] print(list2) print("● remove()使用後-2") list2.remove('JavaScript') print(list2) |
実行結果
remove()でList(リスト)から対象の要素を削除しています。
そのため、List(リスト)内の「346」と「JavaScript」の要素を削除して表示されています。
もし、remove()について詳しく知りたい場合は下記の記事をご参照ください。
まとめ
● append()とはイテレータに指定した要素を追加する関数である。
● append()を使用する場合は、append()に下記の引数を指定して使用する。
・追加する要素:(必須)
● 追加する要素を指定してappend()を使用すると、List(リスト)に指定した要素を追加する。
● 追加する要素を指定しないでappend()を使用すると、エラーが発生する。
● 追加する要素に数値型を指定してappend()を使用すると、指定した数値型をList(リスト)の要素として追加する。
● 追加する要素にbool型を指定してappend()を使用すると、指定したbool型をList(リスト)の要素として追加する。
● 追加する要素にNoneを指定してappend()を使用すると、NoneをList(リスト)の要素として追加する。
● 追加する要素にイテレータを指定してappend()を使用すると、指定したイテレータをList(リスト)の要素として追加する。
● append()でList(リスト)に複数の要素を追加するには繰り返し処理を使用する。
● append()は1次元(List)リストだけでなく、多次元List(リスト)に対しても使用できる。
● Pyhtonでリストの要素を追加するにはappend()以外にも下記のような方法がある。
・extend()
(イテレータに要素を追加する関数)
・insert
(イテレータの指定した箇所に要素を追加する関数)
・+演算子
(リスト結合)
● List(リスト)で指定した要素を削除する場合はremove()を使用する。