In Python, how do I convert all of the items in a list to floats?

snk picture snk · Oct 23, 2009 · Viewed 724.5k times · Source

I have a script which reads a text file, pulls decimal numbers out of it as strings and places them into a list.

So I have this list:

['0.49', '0.54', '0.54', '0.54', '0.54', '0.54', '0.55', '0.54', '0.54',  '0.54', 
 '0.55', '0.55', '0.55', '0.54', '0.55', '0.55', '0.54', '0.55', '0.55', '0.54']

How do I convert each of the values in the list from a string to a float?

I have tried:

for item in list:
    float(item)

But this doesn't seem to work for me.

Answer

SilentGhost picture SilentGhost · Oct 23, 2009
[float(i) for i in lst]

to be precise, it creates a new list with float values. Unlike the map approach it will work in py3k.