組み込み関数 iter
iter(object [, 識別子])
この関数を説明する前に、"イテレータ"をいう言葉を説明します。プログラムを打っているとfor文のように複数の要素を順番に処理していくことがよく出てきます。そういった際にどんなデータでも同一の手法で処理できるようにするのが"イテレータ"です。
引数を2つに書くときは、一つ目の引数は自分で作ったクラス。二つ目の引数はもう次のデータ要素が無いと自分で作ったクラスが送ってくる識別を書きます。
この関数はそういったイテレータオブジェクトを提供します。
使用例をみていきましょう。
#coding: shift-jis
s = "ABC"
l = [1,2,3]
t = (4,5,6)
d = {"C":3,"D":4,"E":5}
sq = [s,l,t,d]
for se in sq :
i = iter(se)
while True:
try:
print i.next()
except StopIteration :
print str(type(se)),"のイテレータは終わりました"
break
print "プログラムを終了します。"
raw_input()
出力画面:
A
B
C
<type 'str'> のイテレータは終わりました
1
2
3
<type 'list'> のイテレータは終わりました
4
5
6
<type 'tuple'> のイテレータは終わりました
E ←dictのイテレータは辞書ですね。
D
C
<type 'dict'> のイテレータは終わりました
プログラムを終了します。