1. ホーム
  2. python

[解決済み] Python辞書:keys()とvalues()は常に同じ順番なのか?

2022-03-14 05:28:15

質問

で返されるリストのように見えます。 keys()values() メソッドは常に1対1に対応します(2つのメソッドを呼び出す間に辞書が変更されないと仮定します)。

例えば

>>> 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-loopは常にTrueを表示すると考えてよいのでしょうか? これを確認する文書が見つかりませんでした。

どのように解決するのですか?

こんなのがありました。

<ブロッククオート

もし items() , keys() , values() , iteritems() , iterkeys() および itervalues() が呼び出されます。 を変更することなく ディクショナリーでは、リストが直接 が対応する。

について 2.xのドキュメント 3.x ドキュメント .