辞書

2017-07-12 10 views
0

でオブジェクトを交換して、私はそうのような辞書があります。辞書

test_dict = {1.0: 0, 3.0: 2} 

を、私はそうのようにそれを持つオブジェクトを置き換えたい:

a = 1.0 

for k, v in test_dict.iteritems(): 
    if a == k: 
     a = v 

はこれを行うには良い方法はありますループや1つのライナーなしで?

私もa = a.map(test_dict)を試しましたが、それは正しいとは思われません。

+0

- または私は何かを誤解しています? – jkff

+0

'test_dict [a]'が何を期待しているのか分かりませんが、とにかくキーエラーを返します。私はオブジェクトの値を辞書に置き換えたいです。すべて –

+0

ああ、私は "a"があなたのユースケースでは辞書にないかもしれないことに気付かなかった。はい、その場合、キーエラーが発生し、そのケースをzwerの答えで処理します。 – jkff

答えて

2

あなたのコードはに減らすことができます。

a = 1.0 
a = test_dict.get(a, a) 

またはあなたが(いくつかの追加処理のために)明示的なチェックが必要な場合:[A] = test_dict

a = 1.0 
if a in test_dict: 
    a = test_dict[a]