長期投資シミュレーションツール『Tousimu』をリリースしました!

【初心者必見!】Pythonのリスト(list)の使い方を徹底解説!

プログラミング
スポンサーリンク

この記事では

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メソッドの使い方

(リスト).append((追加する要素))

alphabets = ["a", "b", "c"]

# 末尾にdを追加
alphabets.append("d")

print(alphabets) # ["a","b","c","d"]と出力

リストの任意の位置に要素を追加(insertメソッド)

次に「リストの任意の位置に要素を追加」では、insertメソッドを使用します。

insertメソッドの使い方は

「追加する位置」を指定しなければならないので

appendメソッドよりも少し複雑です。

insertメソッドの使い方

(リスト).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メソッドの使い方

(リスト).clear()

alphabets = ["a", "b", "c"]

# リストの要素を全て削除
alphabets.clear()

print(alphabets) # []と出力

任意の位置の要素を削除(popメソッド)

次に「任意の位置の要素を削除する」場合は、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メソッドの使い方

(リスト).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の基本的な文法はこちらで詳しく紹介しているので

ぜひご参考ください!

Pythonを学びたいと思っているけど

  • プログラミングスクールに数十万円も払えない・・・
  • 独学だとどうやって学んだらいいかわからない・・・
  • Pythonのインストールや環境構築がよくわからない・・・

といったお悩みを抱えている方はいませんか?

Pythonの学習はオンライン学習サービスのPyQがおすすめです!

PyQ

PyQの特徴は圧倒的なコストパフォーマンスで

たった月額3,040円で以下のPythonに関する内容が学び放題です!

PyQで学べる内容
  • プログラミングの基本
  • Python入門〜中級
  • ユニットテスト、設計
  • Webアプリ開発
  • Django(Pythonを使ったWebアプリ開発のフレームワーク)
  • スクレイピング
  • データ解析
  • 機械学習
  • 統計入門
  • アルゴリズム

またブラウザ上でコードを書いて学習できるため

面倒なPythonのインストールや環境構築なども一切不要です!

実際に私もプログラミングを始めた頃に利用していて

PyQを一通りやり終えた後は

  • Djangoを使ったポートフォリオの制作
  • スクレイピングによる作業の自動化
  • ディープラーニング

などのプログラムを自分で書けるようになり

paizaのスキルチェックでもSランクを所得しました!

PyQは登録後すぐに学習を開始できるので

Pythonの学習方法でお悩みの方は、今すぐPyQで学習をスタートしましょう!

しかし

  • 独学で挫折した経験がある・・・
  • 短期間でpythonを習得したい!
  • プロのエンジニアからpythonを学びたい!

という方は、PyQでの独学よりも

プログラミングスクールでの学習が最適かもしれません!

pythonが学べるおすすめのプログラミングスクールはこちら!

TechAcademy Pythonコース

おすすめスクールNo.1:TechAcademy Pythonコース

TechAcademyがおすすめな理由
  • 学習システムを1週間無料で体験できる!
  • 完全オンラインだから、忙しくても続けられる!
  • 各受講生に現役エンジニアのメンターがつく!

DIVE INTO CODE エキスパートAIコース

おすすめスクールNo.2:DIVE INTO CODE エキスパートAIコース

DIVE INTO CODEがおすすめな理由
  • 本気の人のためのスクール!事前テストで選考あり!
  • 無料説明会&体験セミナーあり!
  • 通学 or オンラインが選択できる!

CodeCamp Pythonデータサイエンスコース

おすすめスクールNo.3:CodeCamp Pythonデータサイエンスコース

DIVE INTO CODEがおすすめな理由
  • 無料体験レッスン受講で10,000円引き
  • 受講者数30,000人超えの圧倒的な実績!
  • レッスン満足度96.6%

ぜひ自分に合った学習方法でPythonを習得しましょう!

プログラミング Pythonの勉強法
スポンサーリンク
Follow Me!
スポンサーリンク
まろぶろぐ
タイトルとURLをコピーしました