1. はじめに:制御構造を学ぶ理由
前回の 「予備知識編4」 では、Pythonの基本として 条件分岐(if文) について学びました。
今回は、プログラムをより柔軟に動かすための「listと制御構造のうちfor・whileループ1」 を学びます!
✅list → 複数の変数を1つの変数に格納(今回)
✅for・whileループ → 条件に応じて処理を分ける(次回)
これらを理解すると、Pythonでより実用的なプログラムが作れるようになります!
では、さっそく学んでいきましょう!🚀
その前に前回の記事を見ていない方はそちらをご覧ください
https://ganbaruzooooofufufu.com/「aiを学ぶ前に知っておくべきitの基礎pythonの制御構造/
2.ループ処理を学ぶ前に!!!
まずループ処理の有用性を説きたいと思います。
例えば次のようなコードがあったとしましょう。
#20歳以上か否かを確かめるコード
#年齢
age1 = 18
age2 = 24
age3 = 10
age4 = 15
age5 = 26
#前回のif文
if age1 >= 20:
print("20歳以上です。")
else:
print("20歳未満です。")
if age2 >= 20:
print("20歳以上です。")
else:
print("20歳未満です。")
if age3 >= 20:
print("20歳以上です。")
else:
print("20歳未満です。")
if age4 >= 20:
print("20歳以上です。")
else:
print("20歳未満です。")
if age5 >= 20:
print("20歳以上です。")
else:
print("20歳未満です。")
👉 実行結果:
「20歳未満です。
20歳以上です。
20歳未満です。
20歳未満です。
20歳以上です。」 🎉
5人分の年齢が20歳かをそれぞれif文で求めました。
まだ5人の年齢を判断するだけですので、このようにif文を羅列してしても大丈夫ですが、
対象が100人、1000人となったらどうでしょう?
そのような場合、繰り返しの処理(for・whileループ)が有効です。
ですが繰り返しの処理は次回学びましょう!
というのも下記で学ぶ、本記事ではlistをしっかりと覚えていただきたいからです。
3.変数をlistに格納しよう!
先ほど書いたコードを見て下さい。
#年齢
age1 = 18
age2 = 24
age3 = 10
age4 = 15
age5 = 26
age1,age2,age3…のように変数を作成しています。
このように書き直しましょう。
#年齢
age = [18, 24, 10, 15, 26]
かなりスッキリしましたね.。
ageという変数(list)に18,24,10,15,26の5つの値を格納しています。
[a,b,c,d,e]のように[]の中に,区切りで要素を入れていきましょう。
今回は整数型でしたが、当然、文字列や少数なども対応可能です。
次のコードでは文字列と整数型が混合になっています。
このように異なる型の値を格納することもできます。
#違う型をlistに入れる
age =["田中", 24, 10, 15, 26]
次に格納した値はどうように出力するか見ていきましょう。
次の3つのコードをご覧下さい。
#listの内、全ての値を出力
age = ["田中", 24, 10, 15, 26]
print(age)
👉 実行結果:「[‘田中’, 24, 10, 15, 26]」 🎉
#listの内、全ての値を出力
age = ["田中", 24, 10, 15, 26]
print(age[0])
print(age[1])
print(age[2])
print(age[3])
print(age[4])
👉 実行結果:
「‘田中’
24
10
15
26」 🎉
1つ目のコードはlistに格納された値を全て出力する方法です。
普通の変数のように書けば良いんですね。
2つ目のコードはlistに格納された値の内、任意の1つを選んで出力する方法です。
age[0]のように変数名に[]をつければ大丈夫です。
👉注意することとしてlistの中身は0から数えます。
今回の例で言うと、
age[0]が”田中” ← 1つ目
age[1]が24 ← 2つ目
age[2]が10 ← 3つ目
のようになります。[0]が1番目ということをしっかりと覚えて下さい!!
問題! 10000個の値を格納した変数aの9357番目の要素を出力しなさい。
回答! print(a[9356])
a[9357]と思ってしまった方は要注意!
しっかり覚えていきましょう!
4.listの編集をしよう
age = [18, 24, 10, 15, 26]
今までは↑のように年齢をageに格納しました。
次に一度作成したlistの編集を行っていきましょう!
listへの追加と削除について学んでいきます。
追加(2種類)
#listに要素を追加する
age = [18, 24, 10, 15, 26]
#追加処理↓ 14を追加
age.append(14)
print(age)
👉 実行結果:「[18, 24, 10, 15, 26, 14]」 🎉
変数名.append(追加する要素)でlistに要素を格納します。
実行結果を見ると、ageの最後の要素として追加されていることが確認できます。
では次にlistの中の好きな位置に要素を追加したい場合について学んでいきましょう。
#listの指定の位置に要素を追加する
age = [18, 24, 10, 15, 26]
#追加処理↓ ageの3番目に14を追加
age.insert(3, 14)
print(age)
👉 実行結果:「[18, 24, 10, 14, 15, 26]」 🎉
変数名.insert(n番目, 追加する要素)でlistの好きな位置に要素を追加します。
実行結果を見ると、0から数えて3番目の位置に要素が追加されていることが分かります。

listは0から数えることを先ほど学びました。
削除(2種類) 🙇変数名と内容変えます。age → strs
#listの指定のした値(最初に見つかった値)
strs = ["A", "B", "C", "A", "B"]
#削除処理↓ "B"を消す
strs.remove("B")
print(strs)
👉 実行結果:「[‘A’, ‘C’, ‘A’, ‘B’]」 🎉
変数名.remove(削除する要素)でlistから指定した要素を削除します。
🌵注意点としては変数の0番目から数えて最初に見つかった要素です。
実行結果から分かるように、strsの最後の要素”B”は削除されていませんね。
#listの指定の位置の要素を削除する
strs = ["A", "B", "C", "A", "B"]
#削除処理↓
del strs[2]
print(strs)
👉 実行結果:「[‘A’, ‘B’, ‘A’, ‘B’]」 🎉
del 変数名[n番目]でlistから指定した位置の要素を削除します。
listの追加・削除はこれ以外にもいくつか方法がありますがここでは割愛します。
今後のコーディングで出てきたら学んでいきましょう。
追加
使い方 | 意味 | |
append() | list.append(値) | リストの末尾 に追加する |
insert() | list.insert(インデックス, 値) | 指定した位置 に追加する |
削除
使い方 | 意味 | |
remove() | list.remove(値) | 指定した値 を削除(最初に見つかった1つ) |
del | del list[インデックス] | 指定した位置 の要素を削除(値は返さない) |
5.まとめ
✅for・whileループ処理を覚える前にlistをマスター
✅0番目から数える
📌 次回:「ループを学ぼう!(予備知識編6)」
次回の記事では、
プログラムをより柔軟にする「listと繰り返し処理(for・while)2」について解説します!
ループは今回の続きとなりますので是非、早めに覚えていきましょう。
記事に誤りや誤解を生む表現など不適切な文面・資料がございましたら教えていただけると幸いです。
最後に本記事を書くに当たって参考にしたURLです。
Python公式ドキュメント: https://docs.python.org/ja/3/
Pythonチュートリアル(入門): https://www.w3schools.com/python/
PyQ(Python学習サイト): https://pyq.jp/
コメント