1: 2018-06-08 (金) 16:52:21 njf |
現: 2019-05-27 (月) 20:19:04 njf |
| + | 回数を指定してループする場合は、「[[Python/回数を指定してループ]]」も参照してください。 |
| + | |
| *基本 [#r7bf226b] | | *基本 [#r7bf226b] |
| | | |
| Pythonのfor文は配列などをループ処理するときに使う制御文です。 | | Pythonのfor文は配列などをループ処理するときに使う制御文です。 |
| | | |
| + | 例1 |
| for i in [1,2,3]: | | for i in [1,2,3]: |
| print i | | print i |
| 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 . |
Counter: 3009,
today: 8,
yesterday: 0