ヘッダー
Python サンプル集
 

for による繰り返し

2022/11/6

→ C# のサンプルに切り替える → Visual Basic のサンプルに切り替える

関連記事

こちらにもいろいろな for のサンプルがあります。

for による回数指定の繰り返し

 

リストの要素の繰り返し

items = ['Apple', 'Banana', 'Cat', 'Dog']

for item in items:
    print(item)

実行すると下記の通り出力されます。

Apple
Banana
Cat
Dog

 

 

辞書(ディクショナリー)の要素の繰り返し

items = {'A':'Apple', 'B':'Banana', 'C':'Cat', 'D':'Dog'}

for key in items:
    print(f'{key}={items[key]}')

実行すると下記の通り出力されます。

A=Apple
B=Banana
C=Cat
D=Dog

 

 

文字列内の文字を列挙する

value = "🗿モアイ"

for letter in value:
    print(letter)

メモ:Windows のコマンドプロンプトの既定の設定では🗿は文字化けするかもしれません。

実行すると下記の通り出力されます。

🗿


 

 

C:\Windows にあるファイルを列挙

import os

path = r"C:\Windows"

for itemName in os.listdir(path):
    if os.path.isfile(os.path.join(path,itemName)):
        print(itemName)

 

 

C:\Windows にあるファイルとサイズを列挙

import os

path = r"C:\Windows"

for itemName in os.listdir(path):
    fullPath = os.path.join(path,itemName)
    if os.path.isfile(fullPath):
        sizeKB = os.path.getsize(fullPath) / 1024
        print(f'{itemName} {sizeKB:,.1f} KB')

 

 

環境変数の列挙

import os

for name, value in os.environ.items():
    print(f'{name} = {value}')

 

上記の例はタプルのアンパックを利用しています。アンパックしない場合は次のようになります。結果は同じです。

import os

for env in os.environ.items():
    print(f'{env[0]} = {env[1]}')

 

 

繰り返し回数を取得する

items = ['Apple', 'Banana', 'Cat', 'Dog']
counter = 0

for item in items:
    counter += 1
    print(f'{counter}個目 = {item}')

実行すると下記の通り出力されます。

1個目 = Apple
2個目 = Banana
3個目 = Cat
4個目 = Dog

 

 

途中でループから抜け出す (break)

この例は本来4回繰り返す指定になっていますが、if 文で条件判断して'Cat'の周で抜けます。

items = ['Apple', 'Banana', 'Cat', 'Dog']

for item in items:
    print(item)
    if item == 'Cat':
        break

print('終了')

実行すると下記の通り出力されます。

Apple
Banana
Cat
終了 

 

 

ループがすべて完了したか確認する (たとえば、breakしていないかどうか)

この例では 変数 item が "Eagle" の場合 break します。ループの処理がすべて終わった後に break して終わったのか、break しないで終わったのかメッセージを出力します。 このまま実行すると item が "Eagle" になることはないので break は発生しないで終了します。

items = ['Apple', 'Banana', 'Cat', 'Dog']

for item in items:
    print(item)
    if item == 'Eagle':  #←ここを item == 'Banana' などに変えると、最後のメッセージが出力されなくなります
        break
else:
    print('break等しないでループを終了します。') #←これが出力されます。

メモ:else に記述したプログラムは ループがbreak等で中断されずに完了したときに実行されます。

 

 

その周を中断し、次の周を開始する (continue)

if 文で条件判断して'Banana' と 'Cat' であれば処理を中断して次の周を開始します。

items = ['Apple', 'Banana', 'Cat', 'Dog']

for item in items:
    print(item + ' 開始')
    if (item == 'Banana') or (item == 'Cat'):
        continue
    print(item + ' 終了')

実行すると下記の通り出力されます。

Apple開始
Apple終了
Banana開始
Cat開始
Dog開始
Dog終了

 

 

2重ループで九九の表を作成する

for x in range(1, 10):
    for y in range(1, 10):
        print(f'\t{x * y}',end = '')
    print()

 

 

列挙型を繰り返す

from enum import Enum

DayOfWeek = Enum('DayOfWeek', 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday')

for p in DayOfWeek:
    print(f'{p.value}:{p.name}')

メモ:列挙型の値は 1 から順番に割り当てられます。 0 からではありません。

実行すると下記の通り出力されます。

1:Sunday
2:Monday
3:Tuesday
4:Wednesday
5:Thursday
6:Friday
7:Saturday

 

 

タプルの要素の繰り返し

items = ('Apple', 'Banana', 'Cat', 'Dog')

for item in items:
    print(item)

実行すると下記の通り出力されます。

Apple
Banana
Cat
Dog