【python初学者向け】range( )関数を使ったfor文の繰り返し処理を解説

 
今回の記事では下記の悩みを解消します。

「range( )関数を活用した繰り返し処理を実施する方法を知りたい」
「range( )関数を使ったfor文の繰り返し処理がどのように行われてるか理解できない」
「pythonで、for i in range( ) ってよくみるけど、よくわからない」

 
こんな悩みを解決していきます。

 
今回の記事では、pythonを活用したデータサイエンスで頻出の『range( )関数を活用したfor文の繰り返し処理』について解説します。

range( )関数を活用した繰り返し処理は、データの前処理や交差検証などで頻出なので、是非、今回の記事で理解してほしいです!
 

なおfor文について完全初学者の人は、先ずは下記記事を読んでfor文のイメージを掴んでください。

【python初学者向け】for文の繰り返し処理を完全図解
今回の記事では下記の悩みを解消します。 「pythonで繰り返し処理を実施する方法を知りたい」 「pythonのfor文の繰り返し処理がどのように行われてるか理解できない」 こんな悩みを解決していきます。 今回の記事では、pythonを活用...

早速解説していきます。
 

range( )関数を活用したfor文の繰り返し処理について

 
for文でrange( )関数を使用することで、「処理回数を指定した繰り返し処理」や、「Pandas DataFrameの行番号や列番号を指定した繰り返し処理」ができるようになります。

まずはrange( )関数について簡単に解説。
 

range( )関数の使い方

 
range( )関数を使うことで、連番を生成できます。
例えばrange(5)で、0, 1, 2, 3, 4 を生成できます。

range(5)をそのまま出力したり(左図)、print文で出力しようとする(右図)と、下記のように出力され、range(5)の中身を取り出すことができませんが、

range( )は「イテラブルオブジェクト」なので、「for i in range( )」のようにfor文を使うことで、range( )の中身を取り出すことができます。

下記のpythonコードで、0 , 1,  2,  3,  4 をprintできていることがわかります。

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

参考までにlist( )でもリスト形式で取り出すこともできます。

range( )関数の使い方が何となくわかってきたと思うので、ここからrange関数を使ったfor文の繰り返し処理について解説していきます。
 

range( )関数を使ったfor文の繰り返し処理の実践

 
今回は、奇数が格納されたリスト(odd_numbers)の要素全てを繰り返し処理でprintする場合を考えてみます。

まずリストの要素は下記のように取り出せます。
0番目の要素「1」、1番目の要素「3」を選択できていることが確認できます。

odd_numbersの要素は5個なので、range(5)でodd_numbersの中の全ての要素をprintできます。また、len( )を使って、range(len(odd_numbers))と書くこともできます。

odd_numbers = [1,3,5,7,9]

for i in range(5):
    print(odd_numbers[i])

次は、これを応用して、odd_numbersの中の要素にプラス1して、even_numbers(偶数のリスト)に格納してみます。

下記のコードでは、「odd_numbersの要素を1つ取り出し、プラス1した値をeven_numberに代入し、even_numbersへ格納する」という処理をodd_numbersの要素全てに適用(繰り返し処理)しています。

予めeven_numbersの空のリスト [ ] を設定しておいて、appendメソッドを活用してeven_numberを格納しています。

odd_numbers = [1,3,5,7,9]
even_numbers = [ ]

for i in range(len(odd_numbers)):
    even_number = odd_numbers[i] + 1
    even_numbers.append(even_number)

even_numbers

このように「for文で繰り返し処理を実施後、別の変数に代入する」のは頻出なので、是非この機会に理解しておいてください。

今回の例では、range( )関数を使わずとも、リスト内の要素を直接指定してfor文で繰り返し処理することもできます。どちらのやり方も頻出ですので是非理解しておいてください。

odd_numbers = [1,3,5,7,9]
even_numbers = [ ]

for odd_number in odd_numbers:
    even_number = odd_number + 1
    even_numbers.append(even_number)

even_numbers

この記事は以上です。

pythonを活用したデータサイエンスでは、range( )関数を使ったfor文の繰り返し処理は頻出なので、是非今回の記事でイメージを掴んでいただければと思います。

✅ 機械学習・pythonの「勉強」について知りたい人は下記記事もお勧め

仕事で活用するための機械学習、pythonの「勉強」について解説しています。
機械学習の独学は勉強することが多く、特に挫折しがちです。。
機械学習を完全独学した私が、「社会で使える機械学習スキル」を最短で得るための勉強・勉強法について書いていますので是非読んで見てください。

仕事で活用するための機械学習、pythonの「勉強」について解説①|ノムオ
こんにちは。ノムオです😎 本来、勉強することに制約をかけるのはナンセンスだと考えていますが、今回はあえて書きます。 なぜ今回の記事を読んで欲しいのか? それは、 早く仕事で機械学習を活用してほしいから。 個人的には、独学で学べることは3割くらいで、残りの7割は仕事を通じてしか学べないと思っています。 例えば、1つの数式...

 

皆さんのpythonに関する勉強がさらに進み、理解が深まることを願っています。

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