w3resource

Python: Find the longest common prefix string amongst a given array of strings

Python Basic - 1: Exercise-70 with Solution

Write a Python program to find the longest common prefix string among a given array of strings. Return false if there is no common prefix.
For Example, longest common prefix of "abcdefgh" and "abcefgh" is "abc".

Sample Solution:

Python Code:

# Function to find the longest common prefix among a list of strings
def longest_Common_Prefix(str1):
    
    if not str1:  # Check if the list is empty
        return ""

    short_str = min(str1, key=len)  # Find the shortest string in the list

    for i, char in enumerate(short_str):  # Iterate through characters in the shortest string
        for other in str1:  # Iterate through other strings in the list
            if other[i] != char:  # Check if the corresponding characters don't match
                return short_str[:i]  # Return the common prefix found so far

    return short_str  # Return the entire shortest string if it is a common prefix

# Test cases
print(longest_Common_Prefix(["abcdefgh", "abcefgh"]))  # "abc"
print(longest_Common_Prefix(["w3r", "w3resource"]))  # "w3r"
print(longest_Common_Prefix(["Python", "PHP", "Perl"]))  # ""
print(longest_Common_Prefix(["Python", "PHP", "Java"]))  # ""

Sample Output:

abc
w3r
P

Explanation:

Here is a breakdown of the above Python code:

  • First define a function named "longest_Common_Prefix()" that takes a list of strings (str1) as input.
  • Check if the list is empty. If so, return an empty string.
  • Find the shortest string (short_str) in the list using the "min()" function with the key=len argument.
  • Iterate through the characters in the shortest string using 'enumerate'.
  • For each character, iterate through the other strings in the list and check if the corresponding characters match.
  • If a mismatch is found, return the common prefix found so far.
  • If no mismatch is found, return the entire shortest string as the common prefix.
  • Test the function with various input lists and print the results.

Visual Presentation:

Python: Find the longest common prefix string amongst a given array of strings
Python: Find the longest common prefix string amongst a given array of strings

Flowchart:

Flowchart: Python - Find the longest common prefix string amongst a given array of strings

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Python program to check if two given strings are isomorphic to each other or not.
Next: Write a Python program to reverse only the vowels of a given string.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/python-exercises/basic/python-basic-1-exercise-70.php