for-in (range,enumerate ,zip)の使い方 – 【Python】

for-in (range,enumerate ,zip)の使い方 – 【Python】

Pythonでのfor inの使い方です。

リスト

リストに対してfor inを使います。

list = [1,2,3]
for i in list:
  print(i)

実行結果です。

1
2
3

文字列

文字列に対してfor inを使います。

str = 'hello'
for i in str:
  print(i)

実行結果です。

h
e
l
l
o

辞書のキー

辞書のキーに対してfor inを使います。

dict = {'a': 1, 'b': 2, 'c': 3}
for i in dict:
  print(i)

実行結果です。

a
b
c

辞書のキーと値

辞書のキーと値に対してfor inを使います。

dict = {'a': 1, 'b': 2, 'c': 3}
for k,v in dict.items():
  print(k,v)

実行結果です。

a 1
b 2
c 3

range

for inにrangeを使用します。range(数値)と記述します。

for i in range(3):
  print(i)

実行結果です。

0
1
2

enumerate

リストに対してfor inを使う際に、インデックスも付加したい場合にenumerateを使用します。

list = ['yamada','sato','takahashi']
for i,v in enumerate(list):
  print(i,v)

実行結果です。

0 yamada
1 sato
2 takahashi

zip

複数のリストに対してfor inを使います。

第二引数のstrict=Trueにすることによってイテレーブルの要素数が異なる場合、エラーとなります。

strict=Falseにすると、要素数が少ないイテレーブルに合わせてループします。

names = ['yamada','sato','takahashi']
ages = [20,30,40]
for name,age in zip(names, ages, strict=True):
  print(name,age)

実行結果です。

yamada 20
sato 30
takahashi 40

リスト内包表記

for inをリスト内包表記で記述します。

range()などから新たなリストを作る記述方法です。

式 for 変数名 in range()

以下例です。

result = [i for i in range(1, 6)]
print(result) # [1, 2, 3, 4, 5]

names = ['yamada','sato','takahashi']
result = [i for i, v in enumerate(names)]
print(result) # [0, 1, 2]
タイトルとURLをコピーしました