この記事では
pythonの基本文法である「リスト(list)」の使い方をご紹介します!
リストは様々な場面で使用する不可欠な文法です。
使い方をしっかり確認しておきましょう!
そもそも「Pythonについてよくわからない」という方は
こちらで詳しく紹介しているので、ぜひご参考ください!
そもそもリスト(list)とは何なのか
まずは「リスト(list)とは何なのか」です。
リストは複数の変数を入れておく箱!

リストは簡単に言うと
「複数の変数を入れておく箱」みたいなものです!

なんでわざわざ箱に入れなきゃいけないの?
例えば
「各生徒テストの点数を入力して、クラスの合計点を出力する」プログラムを考えます。
# "80 70 90"と入力して、score_1, score_2, score3に代入
score_1, score_2, score_3 = input().split()
# 合計点を計算
total_score = int(score_1) + int(score_2) + int(score_3)
# 合計点を出力
print(total_score)
「入力と出力って何?」や「数値計算のやり方がわからない」という方は
こちらで詳しく紹介しているので、ぜひご参考ください!
上記のコードの場合、入力する点数が3人分のため
変数score_1,score_2,score_3
を用意し代入しています。
しかしこのコードだと、生徒の人数が30人になった時に
score_1,score_2,・・・,score_29,score_30
と
30個の変数を定義しなければならず、とても大変です。

たしかに!生徒の人数が多いほど変数も増えちゃう!
どうせ全てテストの点数なので、「テストの点数」という名前の箱に
まとめて入れることができれば楽だと思いませんか?
その箱こそが「リスト」です。
リストを使うと、上記のコードは以下のように書き換えることが出来ます。
# "80 70 90"と入力して、リストにまとめて代入
scores = input().split()
# scores の中には入力した順に入っている
print(scores) # '["80", "70", "90"]'と出力
score_1,score_2,score_3
と書いていた部分がscores
となり
非常にスッキリしたのがわかるかと思います!
「左から何番目にあるか」で要素を指定できる!

ここまで「リストは複数の変数を入れる箱である」とご説明しました。
しかし箱であるならば
中の要素を出して使えないと意味がないですよね?
もちろんリストでは中の要素を指定して使うことが出来ます。

変数に名前を付けていないのに指定できるの??
リストでは中の変数を「左から何番目にあるか」で指定できます!
(リスト)[(指定する位置)]
例えば上記の「テストの点数」のコードの場合
scores[1]
と書くと、2番目に入力した点数を指定できます。
# "80 70 90"と入力して、リストにまとめて代入
scores = input().split()
# scores の中には入力した順に入っている
print(scores) # '["80", "70", "90"]'と出力
# 2番目に入力した点数を表示
print(scores[1]) # '70'と出力
ただ指定する番号は0から始まるため
1ずれた番号で指定することに注意しましょう。
# "80 70 90"と入力して、リストにまとめて代入
scores = input().split()
# scores の中には入力した順に入っている
print(scores) # '["80", "70", "90"]'と出力
# 1番目に入力した点数を出力
print(scores[0]) # '80'と出力
# 2番目に入力した点数を出力
print(scores[1]) # '70'と出力
# 3番目に入力した点数を出力
print(scores[2]) # '90'と出力
ちなみにリストの要素をしていする番号はインデックス(index)と言います。
リストと同様に、辞書でも変数をまとめて扱うことができます!
辞書についてはこちらをご参考ください!
リストの基本操作(定義・追加・変換・削除・スライス)
では次に「リストの基本操作」をご説明します!
リストの基本操作は5つです。
- リストの定義(作成)
- リストへ要素の追加
- リストの要素の変換
- リストの要素の削除
- リストのスライス
それぞれ詳しくご説明します!
リストの定義(作成)

まずは「リストの定義(作成)」です。
リストの定義は簡単です。
(リスト)=[(要素1),(要素2),(要素3),・・・]
またリストの中には型が異なる変数も入れることが出来ます!
# int型のみのリスト
int_list = [1, 2]
# str型のみのリスト
str_list = ["a", "あ"]
# 両方の型を含んだリスト
mix_list = [1, "a"]
変数の型については、こちらをご参考ください!
またリストの要素の数が1つもしくは何も入っていなくても定義できます。
# 要素が1つのリスト
1_list = [2]
# 要素が空のリスト
0_list = []
リストに要素を追加(appendメソッド、insertメソッド)
次は「リストに要素を追加」です。
リストは定義した後に要素を追加でき、主に使う追加方法は2種類です。
- リストの末尾(右端)に要素を追加
- リストの任意の位置に要素を追加
リストの末尾に要素を追加(appendメソッド)
まず「リストの末尾に要素を追加」では、appendメソッドを使用します。
appendメソッドの使い方は簡単です。
(リスト).append((追加する要素))
alphabets = ["a", "b", "c"]
# 末尾にdを追加
alphabets.append("d")
print(alphabets) # ["a","b","c","d"]と出力
リストの任意の位置に要素を追加(insertメソッド)
次に「リストの任意の位置に要素を追加」では、insertメソッドを使用します。
insertメソッドの使い方は
「追加する位置」を指定しなければならないので
appendメソッドよりも少し複雑です。
(リスト).insert((追加する位置),(追加する要素))
alphabets = ["a", "b", "d"]
# 3番目にcを追加
alphabets.insert(2, "c") #3番目の時は2を代入
print(alphabets) #["a","b","c","d"]と出力
また末尾から数えて位置を指定することも可能です!
その場合末尾から2番目を-1
、3番目を-2
と指定します。
alphabets = ["a", "b", "d"]
# 末尾から2番目にcを追加
alphabets.insert(-1, "c") # 末尾から2番目の時は-1を代入
print(alphabets) # ["a","b","c","d"]と出力
リストの要素の変換(置換)
次は「リストの要素の変換(置換)」です。
要素の追加にはメソッドを使いましたが、変換には不要です。
(リスト)[(変換する位置)] =(変換後の要素)
alphabets = ["a", "d", "c"]
# 2番目のdをbに変換
alphabets[1] = b # 2番目の時は1を指定
print(alphabets) # ["a","b","c"]と出力
また末尾から数えて位置を指定することも可能です!
その場合末尾を-1
、末尾から2番目を-2
と指定します。
alphabets = ["a", "b", "d"]
# 末尾のdをcに変換
alphabets[-1] = c # 末尾の時は-1を指定
print(alphabets) # ["a","b","c"]と出力
ただし要素の追加で使用したinsertメソッドの場合と
末尾からの数え方が異なるため注意しましょう!
リストの要素を削除(clearメソッド、popメソッド、removeメソッド)
次は「リストの要素の削除」です。
主に使う削除の方法は3種類です。
- リストの要素を全て削除
- 任意の位置の要素を削除
- 要素の値を指定して削除
リストの要素を全て削除(clearメソッド)
まず「リストの要素を全て削除する」では、clearメソッドを使用します。
clearメソッドの使い方は非常に簡単です。
(リスト).clear()
alphabets = ["a", "b", "c"]
# リストの要素を全て削除
alphabets.clear()
print(alphabets) # []と出力
任意の位置の要素を削除(popメソッド)
次に「任意の位置の要素を削除する」場合は、popメソッドを使用します。
popメソッドの使い方も簡単です。
(リスト).pop((削除する要素の位置))
alphabets = ["a", "b", "c"]
# 2番目のbを削除
alphabets.pop(1) # 2番目の時は1を代入
print(alphabets) # ["a","c"]と出力
もし位置を指定しない場合は、末尾の要素が削除されます。
alphabets = ["a", "b", "c"]
# 末尾の要素を削除
alphabets.pop() # 何も代入しない
print(alphabets) # ["a","b"]と出力
またpopメソッドでは削除した要素をそのまま変数に代入出来ます。
alphabets = ["a", "b", "c"]
# 末尾の要素を削除
last_factor = alphabets.pop()
print(last_factor) # "c"と出力
そのため削除ではなく、「切り取り」のようなイメージで使用できます!
要素の値を指定して削除(removeメソッド)
次は「要素の値を指定して削除」では、removeメソッドを使用します。
removeメソッドの使い方は簡単です。
(リスト).remove((削除する要素))
alphabets = ["a", "b", "c"]
# bを削除
alphabets.remove("b")
print(alphabets) # ["a","c"]と出力
もし該当する要素がリスト内に複数ある場合は
最初に(最も右にある)要素を削除します。
alphabets = ["a", "b", "c", "b"]
# bを削除
alphabets.remove("b")
print(alphabets) # ["a","c","b"]と出力
リストのスライス

最後は「リストのスライス」です。

スライス!?薄切りにするの??
スライスとは「3番目から5番目」のような範囲指定のことです。
ここで単体の要素の指定方法を思い出します。
(リスト)[(指定する位置)]
alphabets = ["a", "b", "c"]
# 2番目の要素を指定
alphabet = alphabets[1]
print(alphabet) # bと出力
対してスライスは、以下のように範囲を指定します。
(リスト)[(指定する位置の始点):(指定する位置の終点)]
alphabets = ["a", "b", "c", "b", "e"]
# 1番目から4番目の要素を指定
new_alphabets = alphabets[1:4] # 範囲の始点のみ1ずらす
print(new_alphabets) # ["b","c","d"]と出力
もし始点、終点のどちらかを指定しない場合は
それぞれ「最初から終点まで」、「始点から末尾まで」という範囲になります。
alphabets = ["a", "b", "c", "d", "e"]
# 最初から3番目までの要素を指定
before_alphabets = alphabets[:3]
print(before_alphabets) # ["a","b","c"]と出力
# 2番目から末尾までの要素を指定
before_alphabets = alphabets[1:]
print(after_alphabets) # ["b","c","d","e"]と出力
始点と終点の指定の方法が少し複雑ですが
スライスは様々な場面で使用するため、しっかりと確認しておきましょう!
まとめ
今回はpythonのリストについて
- リストとは何なのか
- リストの基本操作
という流れで紹介しました。
pythonでコードを書いていく中でリストは頻繁に使用します。
しっかり使い方を覚えて効率的にコードを書いていきましょう!
またPythonの基本的な文法はこちらで詳しく紹介しているので
ぜひご参考ください!