Pythonチュートリアル 4章 制御構造ツール(2)

for文

for 文は、シーケンス (文字列、タプルまたはリスト) や、その他の反復可能なオブジェクト (iterable object) 内の要素に渡って反復処理を行います。

最初にwordsという配列を作成して、この配列で順に繰り返し処理を行い、要素の値と要素の長さを表示しています。


コレクションオブジェクトの値を反復処理をしているときに、そのコレクションオブジェクトを変更するコードは理解するのが面倒になり得ます。 そうするよりも、コレクションオブジェクトのコピーに対して反復処理をするか、新しいコレクションオブジェクトを作成する方が分かりやすいです。

最初にusers辞書を作成して、for文でこの辞書のコピーを行い、キーと値を取得しながら反復を行います。
値を調べてinactiveの場合には、status辞書からこのキーを削除しています。
最後に、変更されたstatus辞書を表示しています。


最初にusers辞書と空のactive_users辞書を作成しています。
for文でusers辞書をリスト型で取得して反復処理を行っています。
反復処理の中で値がactiveの場合は、active_usersの辞書へ追加を行っています。
最後にusers辞書とactive_users辞書を表示しています。


range() 関数

range 関数は引数に指定した開始数から終了数までの連続した数値を要素として持つ range 型のオブジェクトを作成します。

構文範囲
range(回数)0 ~ 回数-1 まで
range(開始値,終了値)開始値 ~ 終了値-1 まで
range(開始値,終了値,ステップ値)開始値 ~ 終了値-1 まででステップ値毎

range関数にそれぞれの引数を設定して、作成されるrangeオブジェクトからリストを作成して確認しています。

リストの要素数でループを行い、連続した数値と、この数値を元に配列の値を表示しています。


range を直接出力するとそのまま構文が表示されます。range()関数が返すオブジェクトはリストの様に振る舞いますが、リストではありません。反復を掛けることで望みのシーケンスのアイテムを連続的に返すオブジェクトです。このようなオブジェクトを反復可能体(iterable)と呼びます。

range を直接出力するとそのまま構文が表示されます。rangeオブジェクトを確認する為に、リストを作成して確認しています。

まとめ

今回は、for文について説明しました。
for文は、range()関数などを使って、その範囲を指定して繰り返し処理を行います。
よく使用する構文ですので、しっかりマスターしておきましょう。