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 Python - Remove empty strings from list of strings When working with lists of strings in Python, you may encounter empty strings (" ") that need to be removed. We'll explore various methods to Remove empty strings from a list. Using List ComprehensionList comprehension is the most concise and efficient method to filter out empty strings. This method 2 min read Python - Check if substring present in string The task is to check if a specific substring is present within a larger string. Python offers several methods to perform this check, from simple string methods to more advanced techniques. In this article, we'll explore these different methods to efficiently perform this check.Using in operatorThis 2 min read How to do Fuzzy Matching on Pandas Dataframe Column Using Python? Prerequisite: FuzzyWuzzy In this tutorial, we will learn how to do fuzzy matching on the pandas DataFrame column using Python. Fuzzy matching is a process that lets us identify the matches which are not exact but find a given pattern in our target item. Fuzzy matching is the basis of search engines. 9 min read Python - Filter the List of String whose index in second List contains the given Substring Given two lists, extract all elements from the first list, whose corresponding index in the second list contains the required substring. Examples: Input : test_list1 = ["Gfg", "is", "not", "best", "and", "not", "CS"], test_list2 = ["Its ok", "all ok", "wrong", "looks ok", "ok", "wrong", "thats ok"], 10 min read Check if String Contains Substring in Python This article will cover how to check if a Python string contains another string or a substring in Python. Given two strings, check whether a substring is in the given string. Input: Substring = "geeks" String="geeks for geeks"Output: yesInput: Substring = "geek" String="geeks for geeks"Output: yesEx 8 min read Like