Pythonをやろう! ループ編 その2

今回からまた変更が入って、Blogじゃソースみづれぇよ!!
ってことで、dokuwikiの方にも説明はしょって書いてあります。ってか、複数の場所に書くのは余りよろしくないなぁ・・・
前に紹介した、zipを使ったのとはまた違って、mapというのを使う事もできる。
複数のオブジェクトをループ処理するというのは同じだが、zipを使うと短い方に依存してしまう。そこで、mapを使う訳だ。
L1 = [1,2,3,4]
L2 = [1,2,3,4,5]
for (t1, t2) in zip(L1, L2):
    print t1, t2
1 1
2 2
3 3
4 4
for (t1, t2) in map(None, L1, L2 ):
    print t1, t2
1 1
2 2
3 3
4 4
None 5
といった感じになる。mapは第一引数の関数を後の引数にそれぞれ実行して、その結果をlistで返すビルトイン関数。
Noneを指定すると、Noneを入れてくれる訳だ。
ループ処理で忘れていけないのは、elseだ。
elseを使うと、ループ処理の最後にelse句を実行してくれる。
L1 = [1,2,3,4]
for token in L1:
    print token,
else:
    print ‘final’
1 2 3 4 final
breakを使用したら実行されない。
for token in L1:
    if token == 2:
        break
    print token
else:
print ‘final’
1
全然違うけれど、これを見たときJavaのtry catch finally を思い出した。finalyはthrowしようがなにしようが実行されるので、pythonのelseとは全然違うけれどね〜

Leave a comment

0 Comments.

Leave a Reply


[ Ctrl + Enter ]

Spam Protection by WP-SpamFree