将列表列表中的字符串转换为float

时间:2017-04-22 03:06:31

标签: python

我有一个列表列表:

[['9.2','8.7'],['7.5','6.5']]

我希望将它们转换为浮点值来获取:

[[9.2,8.7],[7.5,6.5]]

我试过这个,但它不起作用。

L = [['9.2','8.7'],['7.5','6.5']]
for line in L:
    if line:
        line = [float(i) for i in line]
print(L)

2 个答案:

答案 0 :(得分:3)

您可以使用嵌套列表推导来编写:

new_L = [[float(item) for item in line] for line in L]

答案 1 :(得分:0)

您无法更改原始内容但会创建新列表,因此您在L中看不到任何副作用。您只需使用代码创建一个新列表:

L = [['9.2','8.7'],['7.5','6.5']]
newL = []
for line in L:
    newL.append([float(i) for i in line])
print(newL)

或者,使用列表理解:

newL = [[float(n) for n in e] for e in L]