【Python】リスト(List)とは?使い方について分かりやすく解説!
リスト(List)は、整数、浮動小数点数、文字列などのデータを格納することができます。
他のプログラミング言語で言うと「配列」のようなイメージと思って良いでしょう。
リストの要素には順序があり、インデックスを用いて要素を指定し、一度格納した要素を変更することが可能ですので複数のデータを一つにまとめたい時に便利です。
そして、リストの要素を変更やリスト同士を結合、リスト内の要素を検索などリストに対して様々な操作を行ったり、append()関数やremove()関数、inndex()関数などリストに使用できる様々な関数があります。
また、リスト(List)には多重リスト(または多次元リスト)というものがあり、リストの中にリストを格納することができます。
今回はPythonのリスト(List)の使い方について以下の内容でわかりやすく解説していきます。
⚫︎ リスト(List)の基本的な使い方
⚫︎ リスト(List)の応用的な使い方
⚫︎ リスト(List)で使用できる便利な関数
⚫︎ 多重リスト(List)とは
⚫︎ リスト(List)と配列(Array)の違い
目次
リスト(List)とは
リスト(List)とは、先ほども言いましたが、整数、浮動小数点数、文字列などのデータを複数同時に格納することができる型になります。
他の言語でいうと「配列」と呼ばれているものになります。
また、要素には順序があり、インデックスを用いて要素を指定し、一度格納した要素を変更することも可能です。
リスト(List)の書き方
リストは下記のように記載します。
1 |
リスト名 = ['要素'...] |
リスト名の変数を定義し、[]の中に要素を記述することで複数のデータを格納するリストを作成することができます。
また、リストは数値型や文字列型など違う型でも混合して格納することができます。
リスト(List)の基本的な使い方
ここでは、リスト(List)の基本的な使い方について紹介していきます。
リスト(List)の要素を変更する
リスト(List)の要素を変更するにはリスト名の後ろに[番号]を指定して値を入力します。
しかし、[番号]のスタートは「0」からなので注意してください。
例
1 2 3 4 5 |
list = ["リンゴ", "ぶどう", 2] print(list) list[1] = "パイナップル" print(list) |
出力結果
[‘リンゴ’, ‘ぶどう’, 2]
[‘リンゴ’, ‘パイナップル’, 2]
list[1](2番目)に「パイナップル」と置き換えたことにより、「ぶどう」から「パイナップル」へ要素が変更されました。
リスト(List)を結合する方法
リスト(List)を結合するには+演算子を使用します。
リストとリストの間に「+」をつけることでリスト同士を結合することができます。
例
1 2 3 4 5 6 |
lis1 = ["3", "ぶどう", "オレンジ"] list2 = ["バナナ", 6, "ストロベリー"] print(list1) print(list2) print(list1 + list2) |
出力結果
[3, ‘ぶどう’, ‘オレンジ’]
[‘バナナ’, 6, ‘ストロベリー’]
[3, ‘ぶどう’, ‘オレンジ’, ‘バナナ’, 6, ‘ストロベリー’]
リストとリストの間に「+」をつけることで、リスト同士が結合がされました。
リスト(List)を追加する方法
リスト(List)を追加するには+演算子を使用します。
リスト名と追加する要素の間に「+」をつけることでリストに要素を追加することができます。
例
1 2 3 4 5 |
list = [1, 2, "こんにちは", 4, 5, 6, 7, "朝", 9 ,10] list2 = list + [11, "夜", 13] print(list2) print(list) |
出力結果
[1, 2, ‘こんにちは’, 4, 5, 6, 7, ‘朝’, 9, 10, 11, ‘夜’, 13]
リストと要素の間に「+」をつけることで、リストに要素が追加されました。
リスト(List)の値を検索する
リストの値を検索するにはin演算子を使用します。
検索した結果ある場合はtrueを、ない場合はfalseを返します。
例
1 2 3 4 5 |
list = [1, 2, 3, 4, 5, 6, 7, 8, 9 ,10] print(3 in list) print(11 in list) |
出力結果
TRUE
FALSE
in演算子によって、リストにあった場合はtrue、なかった場合はfalseが返されています。
もし、in演算子でリストの値を検索する方法について詳しく知りたい場合はこちらをご参考ください。
リスト(List)の応用的な使い方
リスト(List)の応用的な使い方について紹介していきます。
文字列をリスト(List)へ変換
文字列をリストへ変換するにはlist()関数を使用します。
例
1 2 3 4 5 |
strlist = list('アイウエオかきくけこさしすせそ') strlist1 = list('1192296') print(strlist) print(strlist1) |
出力結果
[‘ア’, ‘イ’, ‘ウ’, ‘エ’, ‘オ’, ‘か’, ‘き’, ‘く’, ‘け’, ‘こ’, ‘さ’, ‘し’, ‘す’, ‘せ’, ‘そ’]
[‘1’, ‘1’, ‘9’, ‘2’, ‘2’, ‘9’, ‘6’]
list()関数によって文字列がリスト型に変換されました。
リスト(List)から文字列を作成
リスト(List)から文字列を作成したい場合は、join()関数を使います。
例
1 2 3 4 5 6 |
list= ["1","2","3","4", "よろしく", "5", "6", "7", "8"] str1 = ''.join(list) str2 = ' '.join(list) print(str1) print(str2) |
出力結果
1234よろしく5678
1 2 3 4 よろしく 5 6 7 8
join()関数によってリストを元に文字列が作成されました。
リスト(List)の要素の重複を取り除く
リスト(List)の要素の要素の重複を取り除くにはset関数()を使用します。
例
1 2 3 4 5 6 7 8 |
list= ["1","2","3","4", "よろしく", "5", "6", "7", "8", "3", "よろしく"] list1= ["1", "よろしく", "5", "6", "7", "8", "おはよう", "5"] list_set = set(list) list1_set = set(list1) print(list_set) print(list1_set) |
出力結果
{‘1’, ‘7’, ‘2’, ‘4’, ‘8’, ‘3’, ‘6’, ‘5’, ‘よろしく’}
{‘1’, ‘おはよう’, ‘7’, ‘8’, ‘6’, ‘5’, ‘よろしく’}
重複された値は削除されています。しかし、リストの順番はリセットされて並び替えられます。
リスト(List)の要素をスライスする
リスト(List)の要素をスライスするには配列名[開始位置:終了位置]を指定します。
例
1 2 3 4 5 6 |
list= ["1","2","3","4", "よろしく", "5", "6", "7", "8", "3", "よろしく"] list1= ["1", "よろしく", "5", "6", "7", "8", "おはよう", "5"] print(list[2:5]) print(list1[0:4]) |
出力結果
[‘3’, ‘4’, ‘よろしく’]
[‘1’, ‘よろしく’, ‘5’, ‘6’]
それそれ開始位置と終了位置でカットされて表示されています。
リスト(List)の要素をまとめて取り出す
リスト(List)の要素をまとめて取り出すにはfor文を指定します。
例
1 2 3 4 5 6 7 8 9 10 |
list1= ["1","2","3","4", "5", "6", "7", "8"] list2= ["1", "よろしく", "5", "6", "7", "おはよう"] print('・list1の要素を取り出す') for i in list1: print(i) print('・list2の要素を取り出す') for n in list2: print(n) |
出力結果
・list1の要素を取り出す
1
2
3
4
5
6
7
8
・list2の要素を取り出す
1
よろしく
5
6
7
おはよう
for文によってリスト(List)の要素をまとめて取り出すことができます。
もし、for文でリスト(List)の要素をまとめて取り出す方法について詳しく知りたい場合はこちらをご参考ください。
リスト(List)で使用できる便利な関数
リスト(List)に使用できる便利な関数がありますので紹介していきます。
リスト(List)の末尾に要素を一つ追加する関数
リストの末尾に要素を一つ追加するには、append()関数を使用します。
例
1 2 3 4 5 6 7 8 |
list1= ['サッカー', '野球', 'バレーボール', '剣道', 'テニス', '陸上', 'ラグビー'] print('・appned()使用前') print(list1) print('・appned()使用後') list1.append('新体操') print(list1) |
出力結果
・appned()使用前
[‘サッカー’, ‘野球’, ‘バレーボール’, ‘剣道’, ‘テニス’, ‘陸上’, ‘ラグビー’]
・appned()使用後
[‘サッカー’, ‘野球’, ‘バレーボール’, ‘剣道’, ‘テニス’, ‘陸上’, ‘ラグビー’, ‘新体操’]
append()関数によって「新体操」がリストの一番後ろに追加されています。
もし、Pythonのappend()関数について詳しく知りたい場合はこちらをご参考ください。
指定したリスト(List)の位置に要素を挿入する関数
指定したリストの位置に要素を挿入するには、insert()関数を使用します。
例
1 2 3 4 5 6 7 8 |
list1= ['サッカー', '野球', 'バレーボール', '剣道', 'テニス', '陸上', 'ラグビー'] print('・insert()使用前') print(list1) print('・insert()使用後') list1.insert(3, 'レスリング') print(list1) |
出力結果
・insert()使用前
[‘サッカー’, ‘野球’, ‘バレーボール’, ‘剣道’, ‘テニス’, ‘陸上’, ‘ラグビー’]
・insert()使用後
[‘サッカー’, ‘野球’, ‘バレーボール’, ‘レスリング’, ‘剣道’, ‘テニス’, ‘陸上’, ‘ラグビー’]
insert()関数によって4番目に「レスリング」が挿入されています。
リスト(List)の要素を削除する関数
リストの要素を削除するには、remove()関数を使用します。
例
1 2 3 4 5 6 7 8 |
list1= ['サッカー', '野球', 'バレーボール', '剣道', 'テニス', '陸上', 'ラグビー'] print('・remove()使用前') print(list1) print('・remove()使用後') list1.remove('剣道') print(list1) |
出力結果
・remove()使用前
[‘サッカー’, ‘野球’, ‘バレーボール’, ‘剣道’, ‘テニス’, ‘陸上’, ‘ラグビー’]
・remove()使用後
[‘サッカー’, ‘野球’, ‘バレーボール’, ‘テニス’, ‘陸上’, ‘ラグビー’]
remove()関数によって4番目に「剣道」が削除されています。
リスト(List)の全ての要素を削除する関数
リストの全ての要素を削除するには、clear()関数を使用します。
例
1 2 3 4 5 6 7 8 |
list1= ['サッカー', '野球', 'バレーボール', '剣道', 'テニス', '陸上', 'ラグビー'] print('・clear()使用前') print(list1) print('・clear()使用後') list1.clear() print(list1) |
出力結果
・clear()使用前
[‘サッカー’, ‘野球’, ‘バレーボール’, ‘剣道’, ‘テニス’, ‘陸上’, ‘ラグビー’]
・clear()使用後
[]
clear()関数によって全ての要素が削除されています。
リスト(List)の要素の出現回数を数える関数
リストの要素の出現回数を数えるには、count()関数を使用します。
例
1 2 3 4 5 6 7 8 |
list1= ['サッカー', '野球', 'バレーボール', '剣道', 'テニス', '陸上', 'バレーボール'] print(list1) count_tennis = list1.count('テニス') print('テニスの個数:' , count_tennis) count_volley = list1.count('バレーボール') print('バレーボールの個数:' , count_volley) |
出力結果
[‘サッカー’, ‘野球’, ‘バレーボール’, ‘剣道’, ‘テニス’, ‘陸上’, ‘バレーボール’]
テニスの個数: 1
バレーボールの個数: 2
count()関数によって指定したリストの要素の出現回数をカウントしています。
もし、Pythonのcount()関数について詳しく知りたい場合はこちらをご参考ください。
リスト(List)の指定した要素の位置を調べる関数
リストの指定した要素の位置を調べるには、index()関数を使用します。
例
1 2 3 4 5 6 7 |
list1= ['サッカー', '野球', 'バレーボール', '剣道', 'テニス', '陸上', 'ラグビー'] print(list1) index1 = list1.index('テニス') index2 = list1.index('陸上') print('テニスのインデックス', index1) print('陸上のインデックス', index2) |
出力結果
[‘サッカー’, ‘野球’, ‘バレーボール’, ‘剣道’, ‘テニス’, ‘陸上’, ‘ラグビー’]
テニスのインデックス 4
陸上のインデックス 5
index()関数によって要素の順番がソートされています。
もし、Pythonのindex()関数について詳しく知りたい場合はこちらをご参考ください。
リスト(List)の要素を決まった順番に並び替える関数
リリストの要素を決まった順番に並び替えるには、sort()関数を使用します。
例
1 2 3 4 5 6 7 8 |
list1= ['サッカー', '野球', 'バレーボール', '剣道', 'テニス', '陸上', 'ラグビー'] print('・sort()使用前') print(list1) print('・sort()使用後') list1.sort() print(list1) |
出力結果
・sort()使用前
[‘サッカー’, ‘野球’, ‘バレーボール’, ‘剣道’, ‘テニス’, ‘陸上’, ‘ラグビー’]
・sort()使用後
[‘サッカー’, ‘テニス’, ‘バレーボール’, ‘ラグビー’, ‘剣道’, ‘野球’, ‘陸上’]
sort()関数によって要素の順番がソートされています。
リスト(List)の要素を逆順に並び替える関数
リストの要素を逆順に並び替えるには、reverse()関数を使用します。
例
1 2 3 4 5 6 7 8 |
list1= ['サッカー', '野球', 'バレーボール', '剣道', 'テニス', '陸上', 'ラグビー'] print('・reverse()使用前') print(list1) print('・reverse()使用後') list1.reverse() print(list1) |
出力結果
・reverse()使用前
[‘サッカー’, ‘野球’, ‘バレーボール’, ‘剣道’, ‘テニス’, ‘陸上’, ‘ラグビー’]
・reverse()使用後
[‘ラグビー’, ‘陸上’, ‘テニス’, ‘剣道’, ‘バレーボール’, ‘野球’, ‘サッカー’]
reverse()関数によってリストの要素を逆順に並び替えています。
もし、Pythonのreverse()関数について詳しく知りたい場合はこちらをご参考ください。
リスト(List)をコピーする関数
リストをコピーするには、copy()関数を使用します。
例
1 2 3 4 5 6 7 8 |
list1= ['サッカー', '野球', 'バレーボール', '剣道', 'テニス', '陸上', 'ラグビー'] print('・copy()使用前') print(list1) print('・copy()使用後') list2 = list1.copy() print(list2) |
出力結果
・copy()使用前
[‘サッカー’, ‘野球’, ‘バレーボール’, ‘剣道’, ‘テニス’, ‘陸上’, ‘ラグビー’]
・copy()使用後
[‘サッカー’, ‘野球’, ‘バレーボール’, ‘剣道’, ‘テニス’, ‘陸上’, ‘ラグビー’]
copy()関数によってリストをコピーしています。
多重リスト(List)とは
リスト(List)の中にリスト(List)が入ったものを多重リスト(または多次元リスト)と呼びます。
多重リスト(List)の書き方
多重リストは下記のようにして作成します。
1 |
リスト名= [[要素1-1, 要素1-2, …], [要素2-1, 要素2-2, ...], ...] |
今までは、[]でリストを作成していましたが、作成していたのは1つのリストだけでした。
しかし、[]の中に[]をつけることで「リストの中にリストを作る」、つまり多重のリストを作成することができます。
その為、今回紹介しているの[]が2つあることからは2次元リストとなりますが、[]が3つになると3次元リストになります。
多重リスト(List)の取り出し方
多重リストは下記のようにして取り出します。
1 |
リスト名[リストのインデックス][リストの中の要素のインデックス] |
[]が2つありますが、まず、左側の[]はリストのインデックスを指定しています。
そして右側の[]は左側で指定したリストのその中にある要素を指定しています。
また、リストのインデックスは0から始まりますので注意してください。
多重リストを使ったサンプルコード
ここで多重リストを使ったサンプルコードを紹介します。
例
1 2 3 4 5 6 7 8 9 10 11 12 |
student = [["石川", 17], ["鈴木", 16], ["佐藤", 15]] print(student[0][0]) print(student[0][1]) print(student[1][0]) print(student[1][1]) print(student[2][0]) print(student[2][1]) |
出力結果
石川
17
鈴木
16
佐藤
15
[]を2つ使うとでstudentの中にあるリストの中の要素を指定し、要素を特定した上でそれぞれ取得しています。
リスト(List)と配列(Array)の違い
Pythonにはリストに似た、「配列」というものがあり、この2つには以下のような2点の大きな違いがあります。
⚫︎ リストは異なる型を格納して作成できるが、配列は同じ型しか格納できない
⚫︎ リストはimportせずに使えるが、配列は「import array」としてインポートしないと使用できない
この違いからしてどちらが使いやすいかというとリストだと思います。
その為、Pythonの配列という名前のリストが使われているケースが多いです。
Python配列(Array)について知りたい場合はこちらをご参照ください。
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。