LoginSignup
7
8

More than 3 years have passed since last update.

【Python初心者向け】for文の使い方・チートシート

Last updated at Posted at 2019-08-15

この記事では目的別にfor文の使い方をまとめています。Python初心者である自分のために作ったチートシートではありますが、少しでもお役に立てれば幸いです。

for文の基本的な使い方

入力
elements = ['a', 'b', 'c']

for element in elements:
  print(element)
出力
a
b
c

indexを取得する

入力
elements = ['a', 'b', 'c']

for index, element in enumerate(elements):
  print(index, element)
出力
0 a
1 b
2 c

応用: indexの開始番号を変更する

入力
elements = ['a', 'b', 'c']

for index, element in enumerate(elements, 1):
  print(index, element)
出力
1 a
2 b
3 c

指定回数ループさせる

入力
for index in range(5):
  print(index)
出力
0
1
2
3
4

応用: 開始番号と終了番号を指定する

入力
for index in range(1, 5):
  print(index)
出力
1
2
3
4

応用: 番号の増加量を指定する

入力
for index in range(0, 10, 3):
  print(index)
出力
0
3
6
9

逆順でループさせる

入力
elements = ['a', 'b', 'c']

for element in reversed(elements):
  print(element)

出力
c
b
a

条件を満たしたらfor文内を抜ける

入力
for index in range(0, 5):
  if index == 2:
    break
  print(index)
出力
0
1

条件を満たしたらfor文内の処理をスキップする

入力
for index in range(0, 5):
  if index == 3:
    continue
  print(index)

出力
0
1
3
4

複数のオブジェクトをまとめてループさせる

入力
elements = ['a', 'b', 'c']
values = [10, 20]

for element, value in zip(elements, values):
  print(element, value)
出力
a 10
b 20

※ 3つ指定することも可能です
※ 一番少ない要素の数だけ処理が実行されます

for文を抜けた後に処理を実行させる

入力
elements = ['a', 'b', 'c']

for element in elements:
  print(element)
else:
  print('finish!')
出力
a
b
c
finish!

※ breakでループから抜けるとelse内の処理が走りません

多重ループをスマートに書く

入力
import itertools

elements = ['a', 'b', 'c']
values = [1, 2]

for element, value in itertools.product(elements, values):
  print(element, value)
出力
a 1
a 2
b 1
b 2
c 1
c 2

※ itertoolsは標準ライブラリなのでインストールは不要です
※ 3つ指定することも可能です

条件を満たすものをリストで抽出する

入力
values = [1, 2, 3, 4, 5]

result_list = [value for value in values if value % 2 == 0]
print(result_list)
出力
[2, 4]

おまけ

リストの各要素に特定の処理を行う

入力
values = [1, 2, 3, 4, 5]

result_list = list(map(lambda x: x * 2, values))
print(result_list)
出力
[2, 4, 6, 8, 10]
7
8
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
7
8