[EMAIL PROTECTED] wrote: > Hi, > I have a string '((1,2), (3,4))' and I want to convert this into a > python tuple of numbers. But I do not want to use eval() because I do > not want to execute any code in that string and limit it to list of > numbers. > Is there any alternative way? > > Thanks. > Suresh > > s = '((1,2), (3,4))' separators = re.compile ('\(\s*\(|\)\s*,\s*\(|\)\s*\)') tuple ([(float (n[0]), float (n[1])) for n in [pair.split (',') for pair in separators.split (s) if pair]]) ((1.0, 2.0), (3.0, 4.0))
Frederic -- http://mail.python.org/mailman/listinfo/python-list