ページへ戻る

− Links

 印刷 

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

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

« Prev[3]  
2: 2017-01-03 (火) 04:50:42 njf[4] ソース[5] バックアップ No.2 を復元して編集[6] 現: 2017-01-05 (木) 21:45:15 njf[4] ソース[7] 編集[8]
Line 2: Line 2:
 dictData = {'A':'a','B':'b','C':'c'}  dictData = {'A':'a','B':'b','C':'c'}
 + 
 for k in dictData:  for k in dictData:
     print k,dictData[k]      print k,dictData[k]
Line 13: Line 13:
辞書オブジェクトは順番が保証されていないので、いろいろな出力がされる可能性があります。私のテストしている環境では上のようになりました。順番が重要な場合はリストを使いましょう。 辞書オブジェクトは順番が保証されていないので、いろいろな出力がされる可能性があります。私のテストしている環境では上のようになりました。順番が重要な場合はリストを使いましょう。
-キーと値両方でループしたいときには「iteritems」を使います。+キーと値両方でループしたいときにはPython ver.2.7なら「iteritems」を使います。
 for k,d in dictData.iteritems():  for k,d in dictData.iteritems():
     print k,d      print k,d
-値のみでループする時には「itervalues」を使います。+ver.3以降では「items」を使います。 
 +ver.2にも「items」はあるのですが、これはリストを生成するのでその分、処理が遅くなります。「itritems」はイテレータなのでその心配はありません。 
 +ver.3では「itritems」は廃止され、「items」がイテレータを返すようになりました。 
 + 
 +値のみでループする時にはver2.7なら「itervalues」を使います。
 for d in dictData.itervalues():  for d in dictData.itervalues():
     print d      print d
 +
 +ver.3以降では「values」を使います。
« Prev[3]