2013-06-06 96 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] 
相关问题