1: 2018-06-08 (金) 16:52:21 njf[5] [6] [7] | 現: 2019-05-27 (月) 20:19:04 njf[5] [8] [9] | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | 回数を指定してループする場合は、「[[Python/回数を指定してループ]]」も参照してください。 | ||
+ | |||
*基本 [#r7bf226b] | *基本 [#r7bf226b] | ||
Pythonのfor文は配列などをループ処理するときに使う制御文です。 | Pythonのfor文は配列などをループ処理するときに使う制御文です。 | ||
+ | 例1 | ||
for i in [1,2,3]: | for i in [1,2,3]: | ||
print i | print i | ||
Line 10: | Line 13: | ||
2 | 2 | ||
3 | 3 | ||
+ | |||
+ | ''注意'':この例はPython2系のコードです。 | ||
+ | Python3以上で実行する場合は「print i」を「print(i)」にしてください。以下の例も同様です。 | ||
+ | |||
+ | 例2 | ||
+ | for s in "abc": | ||
+ | print s | ||
+ | a | ||
+ | b | ||
+ | c | ||
+ | |||
+ | 例3:辞書型だとキーでループすることになります。 | ||
+ | |||
+ | d = {"a":"1","b":"2","c":"3"} | ||
+ | for k in d: | ||
+ | print k,d[k] | ||
+ | 結果 | ||
+ | a 1 | ||
+ | c 3 | ||
+ | b 2 | ||
+ | |||
+ | inの後は上の例のように、イテレータブルオブジェクトと呼ばれる数え上げたり列記したりできるデータの型を指定します。 | ||
+ | |||
+ | *for文のelse [#o7134803] | ||
+ | |||
+ | Pythonのfor文ではelse文も書けます。 | ||
+ | |||
+ | for i in range(3): | ||
+ | print i | ||
+ | else: | ||
+ | print "loop end" | ||
+ | |||
+ | Python3での結果 | ||
+ | 0 | ||
+ | 1 | ||
+ | 2 | ||
+ | loop end | ||
+ | |||
+ | 上の例のように、ループが終了するとelseが実行されます。 | ||
+ | |||
+ | もしループをbreakして最後まで実行されなかった場合はelseは実行されません。 | ||
+ | |||
+ | 「[[こちら:http://njf.jp/cms/modules/xpwiki/?Python%2F%E5%9B%9E%E6%95%B0%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%83%AB%E3%83%BC%E3%83%97#q3e3971e]]」でも詳しく説明しています。 | ||
+ | |||
+ | *enumerateでインデックスをつけてループする [#ndf3e458] | ||
+ | |||
+ | インデックスをつけてループするには、組み込み関数「enumerate」を使います。 | ||
+ | |||
+ | s = "Test." | ||
+ | |||
+ | for i, w in enumerate(s): | ||
+ | print i,w | ||
+ | |||
+ | 結果: | ||
+ | |||
+ | 0 T | ||
+ | 1 e | ||
+ | 2 s | ||
+ | 3 t | ||
+ | 4 . |
(This host) = https://njf.jp