【Python】for文で繰り返し処理を行う【基本講座】

Python

Python】for文で繰り返し処理を行う【基本講座】

Pythonでもfor分はあります。しかも、Pythonにおけるfor文は重要な役割を持っています。
変数に格納された文字列などを取り出す操作によく使われます。

出典:http://www.photo-ac.com/

for文の基本

for文の基本操作 イテラブルなオブジェクトの処理

Pythonのfor文はC/C++と使い方が異なるので切り替えが必要です。
しかし、難しい概念はないのですぐ慣れると思います。

l = ['a', 'b', 'c', 'd']

for i in l:
    print(i)

# i:変数(NoneType)
# l:リスト型変数

i は変数ですので、型がありません。lはリスト型で要素が入っています。
この要素をひとつずつ変数iに入れて、printしていく動作になります。

このことより in より後には、イテラブルなオブジェクト、つまりシーケンス型を書きます。
参考書によっては、いてレート可能なオブジェクトと書いてあるところもあります。イテレート(iterate)は、日本語で繰り返し処理するという意味です。

rangeオブジェクトの処理

イテラブルなオブジェクトの仲間で、カウントアップなどに使えるrangeオブジェクトを紹介します。

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

# i:変数(NoneType)
# range([開始,]終了[,ステップ])
# 開始から終了までをカウントするrangeオブジェクトを戻す。
# 最後の引数ではカウントアップするステップ数を指定できる。

例えば、「3から30までの3の倍数を表示する。」
という問題があったとしよう。
rangeを使えば数秒で書ける。

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

「10から0までのカウントダウンを表示する。」
という問題ならどう書けるだろうか?rangeを使えば同じく簡単に書ける。

for i in range(10, -1, -1):
    print(i)

rangeオブジェクトをリストに変換したい

rangeは、range型と呼ばれる型です。つまり、Pythonで作業しているとリスト(list)型に変換したい場面に遭遇するかもしれません。

list(range(10))

>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

list()で囲むだけですので、分かりやすいかと思います。

Pythonおすすめ書籍

最初の2冊は初心者向けです。Effectiv Pythonはこの2冊を終えてから読むとかなりわかりやすく感動できると思います。

基礎 Python (IMPRESS KISO SERIES)

新品価格
¥6,200から
(2020/4/21 20:50時点)

入門 Python 3

新品価格
¥4,070から
(2020/4/21 20:53時点)

Effective Python ?Pythonプログラムを改良する59項目

新品価格
¥3,520から
(2020/4/21 20:52時点)

がんばらないでプログラマーになりたい人向け

【スクール】今流行りのプログラミングスクールについて徹底的に調べてみた

タイトルとURLをコピーしました