Python列表,字符串和浮点数

时间:2013-06-06 02:31:11

标签: python string list floating-point

我有一个列表,如:[['45 .1'],['21 .1'],['42.1']]。我认为每个项目都存储为字符串(我错了吗?)。我希望它看起来像[45.1,21.1,42.1]。我该怎么做?我需要能够对列表中的这些元素进行数值计算。

2 个答案:

答案 0 :(得分: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]

答案 1 :(得分: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]