Python | Convert a list of strings to a list of tuples



Method # 1: Using map () + split () + tuple ()

This task can be achieved with a combination of these functions … The map function can be used to associate logic with each line, the split function is used to split the inner contents of a list into various attributes of a tuple, and the tuple function performs the task of forming a tuple.

# Python3 demo code
# convert a list of strings to a list of tuples
# Using map () + split () + tuple ()

 
# initializing list

test_list = [ `4, 1` , ` 3 , 2` , `5, 3` ]

 
# print original list

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

 
# using map () + split () + tuple ()
# convert a list of strings to a list of tuples

res = [ tuple ( map ( int , sub.split ( `,` ))) for sub in test_list] 

 
# print result

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

Output:

 The original list: [`4, 1 `,` 3, 2`, `5, 3`] The list after conversion to tuple list: [(4, 1), (3, 2), (5, 3)] 

Method # 2: Using map () + eval
This is the most elegant way to accomplish this particular task. Where the display function is used to extend the function`s logic to the entire list, the eval function internally performs interconversion and splitting.

# Python3 demo code
# convert a list of strings to a list of tuples
# Using map () + eval

 
# initializing list

test_list = [ `4, 1` , ` 3, 2` , `5, 3 ` ]

  
# print original list

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

  
# using the () + eval map
# convert a list of strings to a list of tuples

res = list ( map ( eval , test_list))

  
# print result

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

Output:

 The original list: [`4, 1`,` 3, 2`, `5, 3`] The list after conversion to tuple list: [(4, 1), (3, 2), (5, 3) ]