map float string '0.0' puzzle

j vickroy jim.vickroy at noaa.gov
Tue Jan 27 17:33:15 EST 2004


Howdy,

I do not understand the following behavior for:
PythonWin 2.3.2 (#49, Oct  2 2003, 20:02:00) [MSC v.1200 32 bit (Intel)] on
win32.

>>>
>>> float('0.0')
0.0
>>> row = ('0.0', '1.0', None)
>>> map(lambda setting: setting and float(setting) or None, row)
[None, 1.0, None]
>>> map(lambda setting: setting and (setting,float(setting)) or
(setting,None), row)
[('0.0', 0.0), ('1.0', 1.0), (None, None)]
>>>

Specifically, why is the return value of the first map operation:
[None, 1.0, None]

I was expecting:
[0.0, 1.0, None]


Thanks in advance for the help.





More information about the Python-list mailing list