Method # 1: Using loop + split () + replace ()
This is a brute force method to accomplish this task. In this we perform the task of extracting and re-converting tuples to a list in a loop using the split () and replace () functions.
# Python3 code to demonstrate how it works # Convert string to list of tuples # using loop + replace () + split () # initialization string test_str = "(1, 3, 4), (5, 6, 4), (1, 3, 6) " # print the original line print ( "The original string is:" + test_str) # Convert string to list of tuples # using loop + replace () + split () res = [] temp = [] for token in test_str.split ( "," ): num = int (token.replace ( "(" , " "). replace (" ) "," ")) temp.append (num) if ")" in token: res.append ( tuple (temp)) temp = [] # print result print ( "List after conversion from string:" + str (res)) |
Output:
The original string is: (1, 3, 4), (5, 6, 4), (1, 3, 6) List after conversion from string: [(1, 3, 4), (5, 6, 4), (1, 3, 6) ]
Method # 2: Using eval()
This built-in function can also be used to accomplish this task. This function internally evaluates the string and returns a transformed list of tuples as desired.
# Python3 code to demonstrate how it works # Convert string to list of tuples # using eval () # initialization string test_str = "(1, 3, 4), (5, 6, 4), (1, 3, 6)" # print the original line print ( "The original string is:" + test_str) # Convert string to list of tuples # using eval () res = list ( eval (test_str)) # print result print ( "List after conversion from string:" + str (res)) |
Output:
The original string is: (1, 3, 4), (5, 6, 4), (1, 3, 6) List after conversion from string: [(1, 3, 4 ), (5, 6, 4), (1, 3, 6)]
Python | Convert string to list of tuples Python functions: Questions
Python | Convert string to list of tuples String Variables: Questions