Pythonのリスト(配列)の扱い方や便利な関数について解説します。リストとは1つの値ではなく複数の値を格納しておくための変数で、他の言語では配列と呼ばれています。
リストを作成する
角かっこ [] の中に、複数の要素をカンマ「 , 」で区切って入力します。
1 2 3 | list_temp = [10, 20, 30, 40, 50] print(list_temp) # [10, 20, 30, 40, 50] |
リストには異なるデータ型のオブジェクトや、他のリストを格納することができます。
1 2 3 4 5 6 7 | list_temp = ['python', 'work', 2022, 1] print(list_temp) # ['python', 'work', 2022, 1] list_temp = ['apple', 'banana', [10, 15, 20], 33] print(list3) # ['apple', 'banana', [10, 15, 20], 33] |
リストから要素を取得する
リストの要素にはインデックスが割り当てられています。リストに対してインデックスを指定することで対応した要素を取得することができます。インデックスは最初の要素が0で、それ移行は1, 2と1ずつ増加していきます。
1 2 3 4 5 6 | list_temp = ['A', 'B', 'C', 'D', 'E'] print(list_temp[0]) # A print(list_temp[2]) # C |
インデックスは負の値も指定することができます。
1 2 | print(list_temp[-2]) # D |
範囲を指定して複数の値を取得することもできます。開始インデックス以上、終了インデックス未満の要素までを取得できます。この場合も負の値を指定できます。
1 2 3 4 5 | print(list_temp[0:2]) # ['A', 'B'] print(list_temp[-3:-1]) # ['C', 'D'] |
リストに要素を追加する
リストに要素を追加するにはappend()
メソッドを使用します。
1 2 3 | list_temp.append('F') print(list_temp) # ['A', 'B', 'C', 'D', 'E', 'F'] |
複数の要素をリストに追加する
リストに複数の要素を一度に追加するには、extend()
メソッドか、+=
演算子を使用します。
リストオブジェクト += [要素1, 要素2, 要素3・・・]
1 2 3 4 5 6 7 8 | list_temp = ['A', 'B'] list_temp.extend(['C', 'D', 'E']) print(list_temp) # ['A', 'B', 'C', 'D', 'E'] list_temp = [1, 2] list_temp += [3, 4, 5] # [1, 2, 3, 4, 5] |
リストの要素を削除する
リスト内の要素を削除するにはdel文を使用します。
1 2 3 4 | list_temp = ['A', 'B', 'C', 'D', 'E'] del list_temp[1] print(list_temp) # ['A', 'C', 'D', 'E'] |
範囲を指定して複数の値をまとめて削除することもできます。開始インデックス以上、終了インデックス未満の要素までを取得できます。
1 2 3 4 | list_temp = ['A', 'B', 'C', 'D', 'E'] del list_temp[1:4] print(list_temp) # ['A', 'E'] |
指定した値と同じ値を持つ要素を削除する
指定した値と同じ値を持つ要素をリストから削除するにはromove()
メソッドを使用します。
1 2 3 4 | list_temp = ['A', 'B', 'C', 'D', 'E'] list_temp.remove('B') print(list_temp) # ['A', 'C', 'D', 'E'] |
リスト内の要素を検索する
リストの中に指定した値があるか検索したい場合はin
演算子を使用します。値が存在する場合はTrue
を、存在しない場合はfalse
を返します。
1 2 3 | list_temp = ['A', 'B', 'C', 'D', 'E'] 'B' in list_temp # True |
リスト内での位置(インデックス)を検索する
指定した値がリストのどの位置(インデックス)にあるか検索したい場合は、index()
メソッドを使用します。指定した値がリストに存在しない場合はValueError
が返ってきます。
1 2 3 | list_temp = ['A', 'B', 'C', 'D', 'E'] list_temp.index('C') # 2 |
リストを結合(連結)する
リスト同士を結合(連結)したい場合は+
演算子を使用します。
1 2 3 4 | list1 = ['A', 'B'] list2 = ['C', 'D'] list = list1 + list2 # ['A', 'B', 'C', 'D'] |
リスト内の要素を並び替える
リスト内の要素を並べ替えるにはsort()
メソッドかsorted()
関数を使用します。sort()
は、指定したリストが並び替えた状態に更新されます。sorted()
は、並べ替えた状態の新たなリストを生成します。
デフォルトは昇順に並び替えます。降順に並び替える場合は引数にreverse=True
を指定します。
1 2 3 4 5 6 7 8 | list_org = ['C', 'A', 'D', 'B', 'E'] list_org.sort() print(list_org # ['A', 'B', 'C', 'D', 'E'] list_org.sort(reverse=True) print(list_org) # ['E', 'D', 'C', 'B', 'A'] |
1 2 3 4 5 6 7 8 9 | list_org = ['C', 'A', 'D', 'B', 'E'] list_org.sort() print(list_org) # ['A', 'B', 'C', 'D', 'E'] list_org.sort(reverse=True) print(list_org) # ['E', 'D', 'C', 'B', 'A'] |
リストの要素を入れ替える
リスト内の要素を別の値を持つ要素と入れ替えるには、対象となる要素のインデックスを指定して新しい値を代入します。
1 2 3 4 | list_temp = ['excel', 'word', 'powerpoint'] list_temp[2] = 'pdf' print(list_temp) # ['excel', 'word', 'pdf'] |
リストの要素をfor分で取得する
リストはfor
ループを用いて要素を取得できます。リストを直接for
ループすることが可能です。
1 2 3 4 5 6 | list_temp = ['A', 'B', 'C'] for str in list_temp: print(str) # A # B # C |
enumerate()
を使用することでインデックス番号も同時に取得することが可能です。
1 2 3 4 5 | for i, str in enumerate(list_temp): print(i, str) # 0 A # 1 B # 2 C |
Pythonのリストについて解説しました。