#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
аргумент в моем решении может выдавать такую ошибку? Покажите мне, как вы его выполняете.