сравнение значений словаря с числом с плавающей запятой

#python-3.x

#python-3.x

Вопрос:

Как я могу сравнить значения словаря с числом с плавающей запятой, т.е. если бы у меня был следующий словарь:

 {
    'F2': 0.5896643972009248, 
    'F3': 0.5742879655443124, 
    'F1': 0.5899210024965614, 
    'F11': 0.6086413936684749, 
    'F4': 0.5924462845088885, 
    'F6': 0.5659846155839213, 
    'F10': 0.6339183933852852, 
    'F9': 0.5597757560369959, 
    'F5': 0.5633086160491567, 
    'F7': 0.556301751221009, 
    'F12': 0.8346634117283984, 
    'F8': 0.5163509611989721
}
  

и я хочу сравнить каждое значение в этом словаре с числом с плавающей запятой, и если значения словаря больше заданного числа с плавающей запятой, выводом будет значение, соответствующее каждому ключу, если не блокировать (не выводить) ключ и значение.

Комментарии:

1. Что вы подразумеваете под «блокировать ключ и значение»?

2. я имею в виду, что не выводил

Ответ №1:

Я не понимаю, что вы имели в виду, говоря «блокировать значение и ключ», поэтому я просто возвращаю словарь со значениями, превышающими заданное значение с плавающей запятой.
Вы можете попробовать это решение с пониманием dict:

 def compare_dict_values(dictionary, given_float):
    return {i: dictionary[i] for i in dictionary if dictionary[i] > given_float}
  

Комментарии:

1. @Басма Хассан, полезно ли это решение?

2. @ maciejwww 1 он выдал ошибку TypeError: объект ‘numpy.float64’ не может быть итерирован

3. Ну, вы сказали, что это словарь. Какого типа ваш словарь? Вы передали аргументы моей функции в правильном порядке, потому что только dictionary аргумент в моем решении может выдавать такую ошибку? Покажите мне, как вы его выполняете.