コードはこれで、出力は2ですが、なぜそれが出力であるのかわかりません。あなたは値が特定の番号であれば、あなたはあなたが重複する値を持っている場合は見つけることを期待しているキーを取得します保証はありませんチェックしているので、もしPython Dictionary Function
def dictTest(d, aVal):
for k in d:
if d[k] == aVal:
return k
return None
lengths = {'one':3, 0:1, 'two':3}
print(dictTest(lengths, 3))
正確に理解できないことはありますか?コードを1行ずつ調べて、各ビットが何をしているかを見てみましょう。 –
辞書は発注できません。何度も何度もコードを実行し続けると、最終的に1つが得られます。次に2つのコードを取得すると、もう一度コードを取得します。辞書は順序を保持しないためです。これが理由です:http://stackoverflow.com/questions/15479928/why-is-the-order-in-dictionaries-and-sets-任意的に – idjaw
私は行ごとに行くと、私は参照してください:if index 0 in dictionary == 3その後返すk –