0

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

4

2 回答 2

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]
于 2013-06-06T02:33:13.380 回答
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]
于 2013-06-06T02:34:03.023 回答