We are given a list of pattern strings and a single input string. We need to find all possible close good enough matches of input string into list of pattern strings.
Examples:
Input : patterns = ['ape', 'apple', 'peach', 'puppy'], input = 'appel' Output : ['apple', 'ape']
We can solve this problem in python quickly using in built function difflib.get_close_matches().
difflib.get_close_matches(word, possibilities, n, cutoff) accepts four parameters in which n, cutoff are optional. word is a sequence for which close matches are desired, possibilities is a list of sequences against which to match word. Optional argument n (default 3) is the maximum number of close matches to return, n must be greater than 0. Optional argument cutoff (default 0.6) is a float in the range [0, 1]. Possibilities that don’t score at least that similar to word are ignored.
The best (no more than n) matches among the possibilities are returned in a list, sorted by similarity score, most similar first.
# Function to find all close matches of # input string in given list of possible strings from difflib import get_close_matches def closeMatches(patterns, word): print(get_close_matches(word, patterns)) # Driver program if __name__ == "__main__": word = 'appel' patterns = ['ape', 'apple', 'peach', 'puppy'] closeMatches(patterns, word)
Output:
['apple', 'ape']
Australia
UK
UAE
Singapore
Canada
New
Zealand
Malaysia
USA
India
South
Africa
Ireland
Saudi
Arab
Qatar
Kuwait
Hongkong
Copyright 2016-2023 www.programmingshark.com - All Rights Reserved.
Disclaimer : Any type of help and guidance service given by us is just for reference purpose. We never ask any of our clients to submit our solution guide as it is, anywhere.