Python | Convert string tuples to list of tuples



Method # 1: Using eval () + list comprehension
This problem can be easily solved as one liner using the built-in eval ( ) which does this task of converting a string to a tuple and comprehending a list.

# Python3 code to demonstrate how it works
# Convert string tuples to list of tuples
# use comprehension list + eval ()

 
# Initializing list

test_list = [ "(` gfg`, 1) " , "(` is`, 2) " , "(` best`, 3) " ]

  
# print the original list

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

 
# Convert string tuples to a list of tuples
# use comprehension list + eval ()

res = [ eval (ele) for ele in test_list]

 
# print result

print ( "The list tuple after conversion:" + str (res))

Output:

 The original list is: ["(` gfg`, 1) "," (`is `, 2)", "(` best`, 3) "] The list tuple after conversion: [(` gfg`, 1), (`is`, 2), (` best`, 3)]  

Method # 2: Using eval () + map ()
This task can also be accomplished using a combination of the above functions. The task performed by the above list can be accomplished with map () in this method.

# Python3 code to demonstrate how it works
# Convert string tuples to list of tuples
# using map () + eval ()

 
# Initializing list

test_list = [ "(` gfg` , 1) " , " (`is`, 2)" , "(` best`, 3) " ]

 
# print original list

pr int ( "The original list is:" + str (test_list))

 
# Convert string tuples to list of tuples
# using map () + eval ()

res = list ( map ( eval , test_list))

  
# print result

print ( "The list tuple after conversion:" + str (res))

Output:

 The original list is: ["(` gfg`, 1) "," (`is`, 2)", "(` best`, 3) "] The list tuple after conversion: [(` gfg`, 1), (`is` , 2), (`best`, 3)]