2015-07-12 86 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]