Python - Find all close matches of input string from a list Last Updated : 03 Jan, 2025 Comments Improve Suggest changes Like Article Like Report In Python, there are multiple ways to find all close matches of a given input string from a list of strings. Using startswith() startswith() function is used to identify close matches for the input string. It checks if either the strings in the list start with the input or if the input starts with them. Python s = ["Lion", "Li", "Tiger", "Tig"] a = "Lion" # Iterate through each string in the list for string in s: if string.startswith(a) or a.startswith(string): print(string, end=" ") OutputLion Li Explanation:string.startswith(a): Checks if the current string from the list s starts with the string a.a.startswith(string): Checks if the string a starts with the current string from the list s.Let's understand various other methods to Find all close matches of input string from a list. Table of ContentUsing String SlicingTwo-Pointer Technique (Sorted)Using Regular ExpressionsUsing String SlicingSubstring comparison can be used to identify matches. By checking if one string is a prefix of another, close matches can be determined. Python s = ["Lion", "Li", "Tiger", "Tig"] a = "Lion" #Iterate through each string in a list for string in s: if string[:len(a)] == a or a[:len(string)] == string: print(string, end=" ") OutputLion Li Explanation:string[:len(a)] == a: Extracts the first len(a) characters of string to check if string starts with a.Two-Pointer Technique (Sorted)If the list is sorted, you can use a two-pointer approach to check prefixes: Python s = ["Lion", "Li", "Tiger", "Tig"] a = "Lion" #Sort the list of strings to process in order s.sort() # Initialize two pointers: `i` starts at the beginning, #`j` at the end of the list i, j = 0, len(s) - 1 #Initialize ana empty list result = [] #Use a while loop to iterate through the list while i <= j: if s[i].startswith(a) or a.startswith(s[i]): result.append(s[i]) i += 1 print(" ".join(result)) OutputLi Lion Explanation:s.sort(): Sorts the list lexicographically (alphabetical order).s[i].startswith(a) or a.startswith(s[i]): Checks if the current string (s[i]) starts with the reference string a.Using Regular ExpressionsRegular expressions allow you to match patterns efficiently: Python import re s = ["Lion", "Li", "Tiger", "Tig"] a = "Lion" # Create a regex pattern that checks if a string starts with `a` # or if it starts with any string in `s` regex = f"^{re.escape(a)}|^{re.escape('|'.join(s))}" # - `re.escape(a)` escapes special characters in `a` # (if any) to avoid regex errors. # - `re.escape('|'.join(s))` joins all strings in matches = [string for string in s if re.match(regex, string) or re.match(regex, a)] print(" ".join(matches)) OutputLion Li Tiger Tig Explanation :^{re.escape('|'.join(s))}: Matches strings starting with any string in s, combined using the | (OR) operator.Filters the strings in s by checking if either the string itself or the reference string a matches the regex. Comment More infoAdvertise with us Next Article Python - Find all close matches of input string from a list S Shashank Mishra Follow Improve Article Tags : Python DSA python-string Python string-programs Practice Tags : python Similar Reads How Can I Find All Matches to a Regular Expression in Python? In Python, regular expressions (regex) are a powerful tool for finding patterns in text. Whether we're searching through logs, extracting specific data from a document, or performing complex string manipulations, Python's re module makes working with regular expressions straightforward. In this arti 3 min read Python - Find dictionary keys present in a Strings List Sometimes, while working with Python dictionaries, we can have problem in which we need to perform the extraction of dictionary keys from strings list feeded. This problem can have application in many domains including data. Lets discuss certain ways in which this task can be performed. Method #1: U 7 min read Python - Convert list of string to list of list In Python, we often encounter scenarios where we might have a list of strings where each string represents a series of comma-separated values, and we want to break these strings into smaller, more manageable lists. In this article, we will explore multiple methods to achieve this. Using List Compreh 3 min read Python - Filter list elements starting with given Prefix We are given a list we need to filter list elements that are starting with given prefix. For example, a = ['apple', 'banana', 'avocado', 'apricot', 'cherry'] and given prefix is p = 'ap' we need to filter all the list elements that are starting with given prefix so that output should be ['apple', 'a 2 min read Get Index of Multiple List Elements in Python In Python, retrieving the indices of specific elements in a list is a common task that programmers often encounter. There are several methods to achieve this, each with its own advantages and use cases. In this article, we will explore some different approaches to get the index of multiple list elem 3 min read Like