def makedict(minip, maxip, country):
    d = {}
for i in range(key(minip), key(maxip) + 1):
    d[i] = country
return d

def key(ip):
    octets = inet_ntoa(pack('>L', ip)).split('.')
return int(''.join(octets[0:2]))
lookup = {}
for lo, hi, cnt in data:
    lookup.update(makedict(lo, hi, cnt))
print(lookup[key(999)])
print(lookup[key(1000215555)])
Какой более быстрый способ найти значение в списке кортежей?