You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
from editdistance import eval as editdistanceimport reimport jsonclass StopSearch: def __init__(self,query): parts = re.split(r' ?(?:and|&) ?',query) self.query = ' & '.join(parts) self.query_reversed = ' & '.join(reversed(parts)) def __call__(self,stop): stop = stop.lower() return min( editdistance(self.query,stop), editdistance(self.query_reversed,stop) ) def __str__(self): return '{}|{}'.format(self.query,self.query_reversed) def __repr__(self): return str(self)if __name__ == "__main__": with open('stops_out.json') as file: data = json.load(file) names = [stop['stpnm'] for stop in data['stops']]
|