辞書のkeys()
およびメソッドによって返されるリストは常に 1 対 1 のマッピングであるように見えます(2 つのメソッドの呼び出し間で辞書が変更されないことを前提としています)。values()
例えば:
>>> d = {'one':1, 'two': 2, 'three': 3}
>>> k, v = d.keys(), d.values()
>>> for i in range(len(k)):
print d[k[i]] == v[i]
True
True
True
keys()
呼び出しと 呼び出しの間で辞書を変更しない場合values()
、上記の for ループが常に True を出力すると想定するのは間違いでしょうか? これを確認するドキュメントは見つかりませんでした。
ベストアンサー1
これを見つけました:
items()
、、、、、が辞書に変更を加えずに呼び出されると、リストは直接keys()
対応values()
しiteritems()
ます。iterkeys()
itervalues()
の上2.x ドキュメントそして3.x ドキュメント。