Let there be a string list_string = '[1,2,3]' the desired output would be the list inside the string, but not as a string bus as a list list_list = [1,2,3]
What is the easiest way to achieve this?
Let there be a string list_string = '[1,2,3]' the desired output would be the list inside the string, but not as a string bus as a list list_list = [1,2,3]
What is the easiest way to achieve this?
You can just call eval
if you are very sure the string can be converted into list and does not contain dangerous code:
>> eval('[1,2,3]') == [1, 2, 3]
# True
One easy way would be to slice off the brackets and then use split
:
>>> list_string = '[1,2,3]'
>>> list_list = list_string[1:-1].split(',')
>>> list_list
['1', '2', '3']
>>> list_list2 = [int(x) for x in list_string[1:-1].split(',')]
>>> list_list2
[1, 2, 3]
>>> list_list3 = list(map(int, list_string[1:-1].split(',')))
>>> list_list3
[1, 2, 3]