2015-07-12 43 views

回答

3

你确实需要更换逗号:

somelist = [float(v.replace(',', '.')) for v in somelist] 

演示:

>>> somelist = [u'10,1', u'2,47', u'1,6'] 
>>> [float(v.replace(',', '.')) for v in somelist] 
[10.1, 2.47, 1.6] 
1

你需要投更换逗号后的字符串。事情是这样的:

somelist=[float(x.replace(',','.')) for x in somelist] 
0

由于使用逗号作为小数点字符是在世界许多地区的惯例,你可以使用这个事实与locale模块一起做转换:

somelist = [u'10,1', u'2,47', u'1,6'] 

locale.setlocale(locale.LC_NUMERIC, 'french') 
somelist = [locale.atof(str(val)) for val in somelist] 
print somelist # -> [10.1, 2.47, 1.6]