0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Python初心者] for文の「for n in ...」のnって何?

Last updated at Posted at 2024-09-30

はじめに

私がPythonを学び始めたころ、初めに詰まってしまったコードはfor文内の変数の理解でした。
例えば以下のようなコードを読んだとき、

numbers = [1,2,3,]
for n in numbers:
    print(n)

for文内で処理される変数であるnに対して、
「この『for n in ...』の『n』は何を指してるんや」と丸一日悩んでしまったのです。

この記事では、同じようなことで悩んでいる方に向けて、for文内の変数について解説していきます。

なお、この記事に間違っている部分やわかりにくい部分を見つけた方は、ご指摘いただけると嬉しいです。

for文の基本構造

まず、Pythonのfor文の基本的な構造を見ていきましょう。

for 変数 in イテラブルオブジェクト:
    実行処理

for文の主な要素は以下の二つです。

  • 変数:ループ内で各要素を受け取るための一時的な変数名。これが先ほど触れたnになる部分。
  • イテラブルオブジェクト:繰り返しを行う際、要素をひとつづつ取り出すことができるオブジェクト。通常、複数の要素によって構成されている。
  • 実行処理:各ループにおいて実行される処理

nの役割とは?

では本題のnとは何かについてみていきましょう。先ほども少し触れましたが、for n in ...nは、イテラブルオブジェクトから順番に取り出される各要素を受け取るための変数です。

各ループの初めにそのループで使用される要素がイテラブルオブジェクトから選択されます。その指定された要素をループ内で使用するために、変数nに要素の値を代入します。

例えば
以下のようにリストnumbersを用いたfor文があるとします。

numbers = [1, 2, 3, 4, 5]

for n in numbers:
    print(n)

解説:

この時、リストnumbersの各要素が順番にnに代入されます。たとえば、最初のループ処理では、リスト内の1番目の要素であるnの値として代入されます。
あまり正確な表現ではないですが、ループの初めにn=number[0]が隠れていると考えるとわかりやすいかもしれません。したがって、print(n)では1が出力されます。

同様に、二回目のループ処理では、リスト内の2番目の要素である2が代入されます。

出力結果:

1
2
3
4
5

文字列を使った例

message = "Hello"

for char in message:
    print(char)

解説:
今回は、charが変数名として使用されています。
文字列messageの各文字が順番にcharに代入されます。
初めのループではにmessageの値であるHelloの一番最初のアルファベット、Hcharに代入され、続いてelと各ループにて対応する文字が変数に代入されていきます。

出力結果:

H
e
l
l
o

まとめ

  • for n in ...nは、イテラブルオブジェクトの各要素を受け取るための一時的な変数名である
  • 各ループの初めにイテラブルオブジェクト内の各要素を指定する中で、指定された要素の値をnに代入する

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?