辞書オブジェクトをキーでループするには以下のように通常の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」を使います。
Page Info | |
---|---|
Page Name : | Python/辞書型オブジェクトのループ |
Page aliases : | None |
Page owner : | njf |
Can Read | |
Groups : | All visitors |
Users : | All visitors |
Can Edit | |
Groups : | All visitors |
Users : | All visitors |
Counter: 1609,
today: 1,
yesterday: 0
Princeps date: 2017-01-03 (Tue) 04:47:00
Last-modified: 2017-01-05 (Thu) 13:45:15 (JST) (2044d) by njf