3行实现模糊匹配

    xiaoxiao2026-10-03  7

    三行实现模糊匹配

    def fuzzyfinding(user_input,collection): s = [(len(re.compile('.*?'.join(user_input)).search(i).group()),re.compile('.*?'.join(user_input)).search(i).start(),i ) for i in collection if(re.compile('.*?'.join(user_input)).search(i))] return [x for _,_, x in sorted(s)]充分利用列表推导式;跟sql语句原理一样‘; 至于两行的太长了,你们去弄吧...import re

    原文地址

        10行python代码写的模糊查询

    10行便于理解,结构严密; 如下:

    >>> import re >>> def fuzzyfinder(user_input, collection): suggestions = [] pattern = '.*?'.join(user_input) # Converts 'djm' to 'd.*?j.*?m' regex = re.compile(pattern) # Compiles a regex. for item in collection: match = regex.search(item) # Checks if the current item matches the regex. if match: suggestions.append((len(match.group()), match.start(), item)) return [x for _, _, x in sorted(suggestions)] 本文地址:http://write.blog.csdn.net/postedit/52224806

    转载请注明原文地址: https://ju.6miu.com/read-1312575.html
    最新回复(0)