2017-04-22 84 views
0

我有列表的一個列表:列表的列表將字符串轉換成浮動

[['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) 

回答

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] 
3

您可以使用嵌套列表理解來寫:

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