How can I convert \"[(5, 2), (1,3), (4,5)]\" into a list of tuples
[(5, 2), (1,3), (4,5)]
I am using planetlab shell that doe
If you don't trust the source of the string enough to use eval, then use re.
import re
tuple_rx = re.compile("\((\d+),\s*(\d+)\)")
result = []
for match in tuple_rx.finditer("[(5, 2), (1,3), (4,5)]"):
result.append((int(match.group(1)), int(match.group(2))))
The code above is very straightforward and only works with 2-tuples of integers. If you want to parse more complex structures, you're better off with a proper parser.