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