2013-06-06 126 views
0

我有一個列表,如:[['45.1'],['21.1'],['42.1']]。我認爲每個項目在這裏存儲爲一個字符串(我錯了嗎?)。我希望它看起來像[45.1,21.1,42.1]。我該怎麼做?我需要能夠對列表中的這些元素進行數值計算。Python列表,字符串和浮點數

回答

2

只需使用列表理解:

l = [['45.1'], ['21.1'],['42.1']] 
my_list = [float(i[0]) for i in l] 
>>> my_list 
[45.1,21.1,42.1] 
3

使用一個簡單的列表理解:

>>> lis = [['45.1'], ['21.1'],['42.1']] 
>>> [float(y) for x in lis for y in x] 
[45.1, 21.1, 42.1] 

或使用itertools.chain.from_iterable與列表理解更快的方法:

>>> from itertools import chain 
>>> [float(x) for x in chain.from_iterable(lis)] 
[45.1, 21.1, 42.1] 
相關問題