辞書のすべてのキーをしきい値以上の値で取得することは可能ですか?python dictionary:特定の値を持つすべてのキーを取得する方法
dicitonaryは、次のようになります。
mydict = {(0,1,2):"16",(2,3,4):"19"}
しきい値は、それが可能である。もちろん、例えば17
辞書のすべてのキーをしきい値以上の値で取得することは可能ですか?python dictionary:特定の値を持つすべてのキーを取得する方法
dicitonaryは、次のようになります。
mydict = {(0,1,2):"16",(2,3,4):"19"}
しきい値は、それが可能である。もちろん、例えば17
である可能性があります。私たちは、単に書くことができます。
[k for k,v in mydict.items() if float(v) >= 17]
それとも、python-2.7で動作する場合は、あなたを - @NoticeMeSenpaiのように述べてい - よりよい利用を:
[k for k,v in mydict.iteritems() if float(v) >= 17]
これはリスト内包です。 mydict
辞書のキーと値のペアを繰り返します。次に値v
をfloat(v)
に変換し、その浮動小数点数が17以上であるかどうかを確認します。その場合は、キーk
をリストに追加します。あなたのmydict
与えられたために
、これが生成します。
>>> [k for k,v in mydict.items() if float(v) >= 17]
[(2, 3, 4)]
だからここに条件を満たし単一キー含むリスト:(2,3,4)
を。
また注目に値するのは、<2.7では、リソースとパフォーマンスの目的で 'dict.iteritems()'を使用する必要があります。 –
@NoticeMeSenpai:ありがとうございます。私は答えに加えました。 –
あなたは大歓迎です! –
それは辞書ですか?文字列を値として使用しますか? –