enumerate関数
反復処理する際に一緒にインデックス番号も取得したい場合には、enumerate関数を使う。
names = ["kero", "Fire", "FLOG", "GECO"]
for i, name in enumerate(names):
print(i, name)
0 kero
1 Fire
2 FLOG
3 GECO
インデックス開始番号を指定する
for i, name in enumerate(names, 1):
print(i, name)
1 kero
2 Fire
3 FLOG
4 GECO
for i, name in enumerate(names, 10):
print(i, name)
10 kero
11 Fire
12 FLOG
13 GECO
zip関数
zip関数を使って複数のリストなどに対して同時に反復処理を行える。
names = ["kero", "Fire", "FLOG", "GECO"]
ages = [39, 21, 32, 45]
for age, name in zip(ages, names):
print("Name: {0} Age: {1}".format(name, age))
Name: kero Age: 39
Name: Fire Age: 21
Name: FLOG Age: 32
Name: GECO Age: 45
要素数が異なる場合
各シーケンスオブジェクトの要素数が異なる場合、少ない要素数に合わせられる。
names = ["kero", "Fire", "FLOG", "GECO"]
ages = [39, 21, 32]
for age, name in zip(ages, names):
print("Name: {0} Age: {1}".format(name, age))
Name: kero Age: 39
Name: Fire Age: 21
Name: FLOG Age: 32
ディクショナリの反復処理
data = { 'Flog':41, 'Geco':28, 'KERO':32 }
# キーと値を同時に列挙
for key, value in data.items():
print(key, value)
Flog 41
KERO 32
Geco 28
# キーを列挙
for key in data.keys():
print(key)
Flog
KERO
Geco
# 値を列挙
for value in data.values():
print(value)
41
32
28