Если dct
равно
{'test1420': {'y': '060', 'x': '070', 'fname': 'test1420'},
'test277': {'y': 72, 'x': 94, 'fname': 'test277'},}
Возможно, вы ищете что-то вроде:
[ subdct for key,subdct in dct.iteritems()
if 92<subdct['x']<95 and 70<subdct['y']<75 ]
Небольшая хитрость в том, что Python позволяет связывать неравенства:
92<dct[key]['x']<95
вместо
if r['x'] > 92 and r['x'] < 95
Обратите внимание, что выше я написал понимание списка, поэтому вы получите список (в данном случае, слова).
В Python3 есть такие вещи, как понимание слова :
{ n: n*n for n in range(5) } # dict comprehension
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
В Python2 эквивалент будет
dict( (n,n*n) for n in range(5) )
Я не уверен, ищите ли вы список диктов или диктов, но если вы понимаете приведенные выше примеры, мой ответ легко изменить, чтобы получить то, что вы хотите.