2016-11-10 4 views
1

私は、スイッチケースの代わりにPythonで辞書を使用して実験しています。私は辞書の中でキーの範囲を使いたいと思っています。 0.199、「名前」:辞書のキーとして範囲を使用する

dispatcher = { 
    0 < col_value <= .5: "avg", 
    .5 < col_value <= .9: "value", 
} 

for col in self.missing_ratios_dict: 

    self.to_do_list[col] = dispatcher.get(self.missing_ratios_dict[col], "drop") 

missing_ratios_dictは「年齢」のようなペアが移入辞書:0.0、というように、私は以下のコードに似た何かを持っています。

私はto_do_listに "値"を追加するために.5と.9の間にあれば、カラムの値が0と0.5の間にある場合、to_do_listに "avg"を追加しますそれ以外の場合は、to_do_listに "drop"を追加します。

現在、実際には値が0.0の場合は「値」を、それ以外の場合は「値」を追加します。

答えて

2

dictは、ハッシュ可能範囲をキーとして持つことはできません。しかし、tupleの形式で範囲を示すキーを作成することもできますが、dict.get(x)を直接呼び出すことはできませんので、タプルを(y1, y2)としてキーの値を取得することはできません(y1 < xキーで値が任意の範囲の一部

私はカテゴリを見つけるために、このような関数を作成することをお勧めします。

def get_type(value): 
    category = None 
    if 0 < value < 0.5: 
     category = "avg" 
    elif 0.5 <= value < 0.8: 
     category = "good" 
    return category 
関連する問題