[Tutor] Quick way to find the data type

Christopher Arndt chris.arndt at web.de
Tue Sep 27 21:39:29 CEST 2005


Bernard Lebel schrieb:
> Hello,
> 
> Let say I have a string. The value of the string might be 'False',
> 'True', '3', '1.394', or whatever else. Is there a quick way to
> convert this string into the appropriate data type other than with
> try/except?

A quick way, yes. But also secure? No.

>>> l = ['false', 'True', '3', '1.394']
>>> l = [eval(x) for x in l]
>>> print l
[False, True, 3, 1.3939999999999999]

but this fails when it encounters a string that eval can't handle, for example
'false'. Also eval will evaluate any valid Pythin expression in the string, so
you should use it only when you know *exactly* that the string can not contain
anything harmful. Which is rarely the case.

Chris


More information about the Tutor mailing list