Longest Prefix Matches for URLs

前端 未结 4 2021
醉话见心
醉话见心 2020-12-13 01:21

I need information about any standard python package which can be used for \"longest prefix match\" on URLs. I have gone through the two standard packages http://packages.py

4条回答
  •  Happy的楠姐
    2020-12-13 01:44

    The function below will return the index of the longest match. Other useful information can easily be extracted as well.

    from os.path import commonprefix as oscp
    
    def longest_prefix(s, slist):
        pfx_idx = ((oscp([s, url]), i) for i, url in enumerate(slist))
        len_pfx_idx = map(lambda t: (len(t[0]), t[0], t[1]), pfx_idx)
        length, pfx, idx = max(len_pfx_idx)
        return idx
    
    slist = [
        'http://www.google.com/mail',
        'http://www.google.com/document',
        'http://www.facebook.com',
    ]
    
    print(longest_prefix('http://www.google.com/doc', slist))
    print(longest_prefix('http://www.face', slist))
    

提交回复
热议问题