メモ代わり。てきとーに。 いや、ですからてきとーですって。 2年前ぐらいにPythonあたりでメールくれた方、ごめんなさい。メール紛失してしまい無視した形になってしまいました。。。

2008年2月14日木曜日

[Python][お勉強] Python入門(32) - イテレータ

今日もPythonのお勉強。
イテレータからやる。

イテレータオブジェクト
イテレータプロトコルをサポートするオブジェクトのこと。
必ずnext()という「ループにおいて次に処理対象となるオブジェクトを戻す」メソッドを持っている。

イテレータオブジェクトとジェネレータ。
ジェネレータはイテレータプロトコルをサポートしている。
よってジェネレータもイテレータの一種ということができる。

ビルトインオブジェクト
ビルトインオブジェクトはビルトイン関数iter()によってイテレータオブジェクトを作成できるように設計されている。

さっそくやってみる。


>>> L = [1,2,3,4,5]
>>> xx = iter(L)
>>> xx.next()
1
>>> xx.next()
2
>>> xx.next()
3
>>> xx.next()
4
>>> xx.next()
5
>>>


リストの例。

次はディクショナリ。

>>> D = {'a':1,'b':2,'c':3}
>>> xx = iter(D)
>>> xx.next()
'a'
>>> xx.next()
'c'
>>> xx.next()
'b'
>>> xx.next()
Traceback (most recent call last):
File "", line 1, in ?
StopIteration
>>>


できた。
要素が無くなるとExceptionをはく。


ふーん。


おしまい。
.

0 コメント: