ページへ戻る

 印刷 

Python​/辞書型オブジェクトのループ :: NJF Wiki

xpwiki:Python/辞書型オブジェクトのループ

辞書オブジェクトをキーでループするには以下のように通常のforループを使います。

dictData = {'A':'a','B':'b','C':'c'}

for k in dictData:
    print k,dictData[k]

結果

A a
C c
B b

辞書オブジェクトは順番が保証されていないので、いろいろな出力がされる可能性があります。私のテストしている環境では上のようになりました。順番が重要な場合はリストを使いましょう。

キーと値両方でループしたいときにはPython ver.2.7なら「iteritems」を使います。

for k,d in dictData.iteritems():
    print k,d

ver.3以降では「items」を使います。 ver.2にも「items」はあるのですが、これはリストを生成するのでその分、処理が遅くなります。「itritems」はイテレータなのでその心配はありません。 ver.3では「itritems」は廃止され、「items」がイテレータを返すようになりました。

値のみでループする時にはver2.7なら「itervalues」を使います。

for d in dictData.itervalues():
    print d

ver.3以降では「values」を使います。


Last-modified: 2017-01-05 (木) 13:45:15 (JST) (2666d) by njf