LoginSignup
4
3

More than 5 years have passed since last update.

Python反復処理関連まとめ

Last updated at Posted at 2016-12-31

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

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3