Это можно сделать в oneliner
Например, для 0 [Первая координата]:
print(max([(k, v) for k, v in filter(lambda x: x[0][0]==y, dic.items())], key=lambda x:x[1]))
Out[2]: ((0, 15), 0.23157894736842105)
Но лучше поместить это в функцию:
def get_max(dic, coord, val):
return max(filter(lambda item: item[0][coord] == val, dic.items()), key=lambda x: x[1])
Для 0 [Первая координата]:
print(get_max(dic, 0, 0))
Out[5]: ((0, 5), 0.23157894736842105)
# or storing the key and the value:
key_max, value_max = get_max(dic, 0, 0)
Для 0 [Вторая координата]:
print(get_max(dic, 1, 0))
Out[6]: ((5, 0), 0.13157894736842105)
и т. Д. ...
Надеюсь, что помогло и удачного кодирования!