w3resource

Python: Select a string from a given list of strings with the most unique characters

Python Programming Puzzles: Exercise-28 with Solution

Write a Python program to select a string from a given list of strings with the most unique characters.

Input:
['cat', 'catatatatctsa', 'abcdefhijklmnop', '124259239185125', '', 'foo', 'unique']
Output:
abcdefhijklmnop

Input:
['Green', 'Red', 'Orange', 'Yellow', '', 'White']
Output:
Orange

Visual Presentation:

Python: Select a string from a given list of strings with the most unique characters.

Sample Solution-1:

Python Code:

# License: https://bit.ly/3oLErEI

# Define a function named 'test' that takes a list of strings 'strs' as input
def test(strs):
    # Use the max function to find the string with the most unique characters
    # The key argument specifies a lambda function that calculates the length of the set of characters in each string
    return max(strs, key=lambda x: len(set(x)))

# Assign a specific list of strings 'strs' to the variable
strs = ['cat', 'catatatatctsa', 'abcdefhijklmnop', '124259239185125', '', 'foo', 'unique']

# Print the original list of strings 'strs'
print("Original list:")
print(strs)

# Print a message indicating the operation to be performed
print("Select a string from the said list of strings with the most unique characters:")

# Print the result of the test function applied to the 'strs' list
print(test(strs))

# Assign another specific list of strings 'strs' to the variable
strs = ['Green', 'Red', 'Orange', 'Yellow', '', 'White']

# Print the original list of strings 'strs'
print("\nOriginal list:")
print(strs)

# Print a message indicating the operation to be performed
print("Select a string from the said list of strings with the most unique characters:")

# Print the result of the test function applied to the 'strs' list
print(test(strs))

Sample Output:

Original list:
['cat', 'catatatatctsa', 'abcdefhijklmnop', '124259239185125', '', 'foo', 'unique']
Select a string from the said list of strings with the most unique characters:
abcdefhijklmnop

Original list:
['Green', 'Red', 'Orange', 'Yellow', '', 'White']
Select a string from the said list of strings with the most unique characters:
Orange

Flowchart:

Flowchart: Python - Select a string from a given list of strings with the most unique characters.

Sample Solution-2:

Python Code:

# License: https://bit.ly/3oLErEI

# Define a function named 'test' that takes a list of strings 'strs' as input
def test(strs):
    # Initialize variables to track the largest set, its length, and the corresponding string
    largest_set = {}
    n = 0
    largest = None
    
    # Iterate over each phrase in the list of strings 'strs'
    for phrase in strs:
        # Calculate the difference in lengths between the current largest set and the set of the current phrase
        diff = len(largest_set) - len(set(phrase))
        
        # Compare the differences and update variables accordingly
        if diff < 0:
            largest_set = set(phrase)
            largest = phrase
            n = len(largest_set)
        elif diff == 0:
            if n < len(set(phrase)):
                largest_set = set(phrase)
                largest = phrase
                n = len(largest_set)
        else:
            pass
    
    # Return the string with the most unique characters
    return largest

# Assign a specific list of strings 'strs' to the variable
strs = ['cat', 'catatatatctsa', 'abcdefhijklmnop', '124259239185125', '', 'foo', 'unique']

# Print the original list of strings 'strs'
print("Original list:")
print(strs)

# Print a message indicating the operation to be performed
print("Select a string from the said list of strings with the most unique characters:")

# Print the result of the test function applied to the 'strs' list
print(test(strs))

# Assign another specific list of strings 'strs' to the variable
strs = ['Green', 'Red', 'Orange', 'Yellow', '', 'White']

# Print the original list of strings 'strs'
print("\nOriginal list:")
print(strs)

# Print a message indicating the operation to be performed
print("Select a string from the said list of strings with the most unique characters:")

# Print the result of the test function applied to the 'strs' list
print(test(strs))

Sample Output:

Original list:
['cat', 'catatatatctsa', 'abcdefhijklmnop', '124259239185125', '', 'foo', 'unique']
Select a string from the said list of strings with the most unique characters:
abcdefhijklmnop

Original list:
['Green', 'Red', 'Orange', 'Yellow', '', 'White']
Select a string from the said list of strings with the most unique characters:
Orange

Flowchart:

Flowchart: Python - Select a string from a given list of strings with the most unique characters.

Python Code Editor :

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

Previous: Find x that minimizes mean squared deviation from a given list of numbers.
Next: Find the indices of two numbers that sum to 0 in a given list.

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://www.w3resource.com/python-exercises/puzzles/python-programming-puzzles-28.php