Python | Lexicographically smallest string in a mixed list



Method # 1: Using min () + isinstance () + list comprehension
This task can be accomplished using a combination of the above functions. In this case, the min () functions perform the task of finding the smallest string, and isinstance () is used to check for the presence of a string.

# Python3 code to demonstrate how it works
# Lexicographically smallest line in the mixed list
# Using min () + isinstance () + list comprehension

 
# initializing list

test_list = [ 1 , 2 , 4 , "GFG" , 5 , " IS " , 7 , "BEST" ]

 
# print original list

print ( "The original list is:" + str (test_list))

  
# Lexicographically smallest line in a mixed list
# Using min () + isinstance () + list comprehension

res = min ( sub for sub in test_list if isinstance ( sub, str ))

 
# print result

print ( "The Lexicographically smallest string is:" + str (res))

Exit:

 The original list is: [1, 2, 4, `GFG`, 5,` IS`, 7, `BEST`] The Lexicographically smallest string is: BEST 

Method # 2: Using min () + lambda + filter()
A combination of the above functions can also be used to accomplish this specific task. In this we perform the task of comprehending a list using filter () and a lambda, and the min function is used to perform the usual task of finding the smallest string.

# Python3 code to demonstrate how it works
# Lexicographically smallest string in the mixed list
# Using min () + lambda + filter ()

 
# initializing list

test_list = [ 1 , 2 , 4 , "GFG" , 5 , "IS" , 7 , "BEST" ]

 
# print original list

print ( " The original list is: " + str (test_list))

  
# Lexicographically smallest line in the mixed list
# Using min () + lambda + filter ()

res = min ( filter ( lambda < / code> s: isinstance (s, str ), test_list))

  
# print result

print ( "The Lexicographically smallest string is:" + str (res))

Output:

 The original list is: [1, 2, 4, `GFG`, 5,` IS`, 7, `BEST`] The Lexicographically smallest string is: BEST