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