Pythonのループ処理

この記事では、Pythonのループ処理の基本を紹介します。

for ループ

forループでは、range()関数を使用します。range()関数は、連続した整数を生成するために使用される組み込み関数です。range()関数は主にループのイテレーションに使用されます。
forループでは、ループを抜けるbreak、次のイテレーションに進むcontinueが使えます。

指定した回数

for i in range(5):
    print(i) # 0 1 2 3 4

変数を使わない場合は次のような書き方もあります。(実際には_に値が入っています)

for _ in range(5):
    print("@") # @ @ @ @ @

開始値と終了値を指定

for i in range(1, 5):
    print(i) # 1 2 3 4

ステップを指定

range()関数の第3引数がステップ数になります。

for i in range(0, 6, 3):
    print(i) # 0 3

デクリメント

for i in range(5, 0, -1):
    print(i) # 5 4 3 2 1

While ループ

他言語同様、条件が真の間、ループします。

while 条件:
    # 処理
#;

Whileループでは、ループを抜けるbreak、次のイテレーションに進むcontinueが使えます。

リストのループ

リスト(配列)を順番に処理する場合は、for inを使います。

my_list = [1, 2, 3, 4, 5]

for num in my_list:
    print(num)

出力

1
2
3
4
5

インデックスと要素の両方を取得したい場合は、enumerate関数を使用できます。

my_list = [1, 2, 3, 4, 5]

for i, num in enumerate(my_list):
    print(f"{i} {num}")

出力

0 1
1 2
2 3
3 4
4 5

辞書のループ

辞書をforでループするとキーが順番に取得できます。

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

for key in my_dict:
    print(key)
apple
banana
orange

辞書のキーを取得したい場合はkeys()メソッドを使うこともできます。値を取得したい場合はvalues()メソッドを使います。

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

# 辞書のキーを取り出す
for key in my_dict.keys():
    print(f'キー: {key}')

# 辞書の値を取り出す
for value in my_dict.values():
    print(f'値: {value}')
キー: apple
キー: banana
キー: orange
値: 1
値: 2
値: 3

キーと値のセットを取得したい場合は、item()メソッドを使用します。

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

# 辞書からキーと値を順番に取り出す
for key, value in my_dict.items():
    print(f'キー: {key}, 値: {value}')
キー: apple, 値: 1
キー: banana, 値: 2
キー: orange, 値: 3

Python 3.7以降では、辞書は要素の追加順序を保持するようになったため、forループはすべて追加順に取得できます。

このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です