【Python】For文、リスト、辞書型大全


for文の書き方(繰り返し処理)

for文は基本的に、繰り返し処理を行う時に使用されます。
主に、数字のループと関数、リスト、辞書型同士のループがあります。

数字の繰り返し処理Ⅰ(最後の数字のみ指定する)

数字を繰り返しループさせるためには、range関数を用いて以下のように記述します。

#0から10までの繰り返し処理
for a in range(11):

ここで注意しないといけないのは、range関数の後ろの括弧の数字です。
基本的には、「ループの最後の値(終了値)に1をたした数値を渡す」のが決まりです。
今回は、0から10までのループ処理で、実行結果としては0から10までの数値が順番に表示されればOKです。そのため、終了値(ループの最後の値)は10であり、それに1足した11を引数として渡すことで、0から10までの数値が順番に表示されるようになります。

数字の繰り返し処理Ⅱ(最初と最後の数値を指定する)

数値を両方指定して、その範囲でfor文を回すことも出来ます。

#1から10まで繰り返す
for a in range(1,11)

上のコードのように、range関数の後ろに開始値と、終了値に1を足した値を指定することで、その範囲での繰り返し処理が実行されます。開始値と終了値の間にはカンマ(,)を入れることを忘れないでください。

リストの基礎

リストの定義方法

ここからは、複数の要素を格納する時に便利な「リスト型」と「辞書型」について見ていきましょう!
まずはリストから、定義は以下のように記述します。

#リスト定義(文字のみ)
shopping_list = ["apple","banana","orange"]

基本的に、リストを定義するときには、

リスト名 = [要素1,要素2,・・・]

と記述します。文字をリスト内の要素として記述する場合は、前後をダブルクォーテーション(")でくくります。

リスト内の要素の追加・削除・変更方法

リスト内の要素を追加、削除、変更するときは、以下のコードを記述します。

#リスト定義
fruits = ['apple', 'banana', 'orange', 'grape']

#リストの要素を変更する
fruits[0] = 'pear'
print(fruits)

#リストの要素を追加する
fruits.append('kiwi')
print(fruits)

#リストの要素を削除する
del fruits[1]
print(fruits)

上のプログラムの出力結果

上のプログラムの出力結果

まず抑えてほしいのは‥

append‥要素の追加
del‥要素の削除

これを抑えましょう!
そして、要素の変更や削除をするには、

del リスト名[番号]
リスト名 [番号] = "変更後の要素名"

のように、大カッコの中にリストの何番目の要素を削除したいのか、変更したいのかを記載する必要があります。ここで、リスト内の要素数は1番目から数えるのではなく、0番目から数えることにも気をつけてください。

辞書型の基礎

次に辞書(Dictionary)型です。
辞書型は以下のように定義します。
リストとの違いは後述します。

#辞書型の定義
tel1 = {81:"日本",1:"アメリカ",66:"タイ",850:"韓国"}
tel2 = {86:"中国",886:"台湾",81:"日本",1:"アメリカ"}

辞書型の定義は上の図のように行います。
基本的には

リスト名 = {キー:値(Value),キー:値(Value)・・・}

と記述します。
よく、「キーに文字を入れて、値(Value)には数字しか入らないだろう!」と勘違いされやすいのですが、そんな決まりはありません!!キーに数字を入れて、値(Value)に文字をいれることも出来ます!
ご注意を‥

リストと辞書型の違い

ここまで、リストと辞書型について触れてきましたが、ここからは、リストと辞書型、それぞれの違いについて説明します。
リストと辞書型の違いは以下のとおりです。

リスト

  • 角括弧で定義される。

  • 順序付けられた要素のコレクションで、要素が挿入された順番を保持する。

  • 要素はインデックスを使ってアクセスされる。インデックスは0から始まる。

  • 異なる型の要素を混在させることができる。整数、文字列、他のリストなどを含めることができる。

辞書型

  • 辞書型は、キーと値のペアのコレクション。キーと値は連想されており、キーを使って値にアクセスする。

  • 辞書型は順序を保持しない。

  • キーは一意でなければいけないが、値は重複しても構わない。

主にこのような違いがあることを抑えましょう!
ちなみに、「キーは一意でなければいけないが、値は重複しても構わない」というのは、以下の例がわかりやすいです。

my_dict = {'apple': 1, 'banana': 2, 'orange': 1}

上のコードでは、"apple"と"orange"はそれぞれValueとして"1"が紐づけられていますが、Valueが"1"であるキーは、"apple"と"orenge"2つです。
このように、値(Value)は重複しても構いませんが、同じ辞書内で異なるキーに対しては異なる値が関連付けられなければなりません。

リスト・辞書型の応用

リスト、辞書型とfor文は相性が良い!

Pythonでは、リストとfor文、辞書型とfor文はとても相性が良いことで有名です。以下に詳しい説明を載せます。

for文を使ってリスト内の要素を書き出す。

リスト内に格納された要素を書き出すとき、for文が役立ちます!

station_list = ["東京","名古屋","京都","大阪","姫路","岡山"]
for a in station_list:
    print(a)
print("*********")
for a in station_list[1:3]:
    print(a)
print("*********")
for a in station_list[:5]:
    print(a)
実行結果("*"は区切り線)

上のような命令をPython上で組むことで、リスト内の要素を抽出することが出来ます。すべての要素は勿論、リスト内の一部分の要素を抽出することもできることも、合わせて覚えておきましょう!

辞書型をfor文で操作する

辞書型をfor文を用いていろいろな操作をすることが出来ます。

# 空の辞書を作成
my_dict = {}

# keyとvalueを追加
my_dict['apple'] = 10
my_dict['banana'] = 20
my_dict['orange'] = 15

# keyを使ってvalueにアクセス
print("appleの値:", my_dict['apple'])

# keyが辞書に存在するか確認
if 'banana' in my_dict:
    print("bananaは辞書に存在します")

# すべてのkeyを取得
keys = my_dict.keys()
print("すべてのkey:", keys)

# すべてのvalueを取得
values = my_dict.values()
print("すべてのvalue:", values)

# keyとvalueのペアを取得
items = my_dict.items()
print("すべてのkeyとvalueのペア:", items)

# 辞書の要素をループで処理
for key, value in my_dict.items():
    print(key, ":", value)

# keyを指定して要素を削除
del my_dict['orange']
print("orangeを削除後の辞書:", my_dict)

# 辞書をクリア(全ての要素を削除)
my_dict.clear()
print("辞書をクリア後:", my_dict)
実行結果

ここで重要ポイント!

key‥辞書型の要素のkeyのみを取り出す。
value‥辞書型の要素のValueのみを取り出す。
items‥辞書型の要素のkeyとvalue両方を取り出す。

これらを使いこなせるようになると、リストと辞書型は完璧に使いこなせるようになります!あとは練習あるのみです!ネットに転がっているPythonの基礎的なプログラミング問題を解き、沢山練習して、使いこなせるようになりましょう!

いいなと思ったら応援しよう!