今回からまた変更が入って、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とは全然違うけれどね〜
0 Comments.