2017-11-25 298 views
2

我是新來的Python裏面,我有我面對現在 我有這個名單nested_list = [['1','2','3'],['2','4','6']] 我想列表的字符串改變自己的浮點表示 而小的挑戰維持秩序同樣是改變浮動嵌套列表

new_list = [[1.0,2.0,3.0],[2.0,4.0,6.0]] 

感謝您的幫助

回答

1

呼叫float每個項目中的每個嵌套列表:

new_list = [[float(x) for x in lst] for lst in nested_list] 
1

也可以用在嵌套列表map完成:

new_list = [list(map(float, lst)) for lst in nested_list] 
0

你可以編寫如下,如果你已經安裝了numpy模塊。在此代碼for-loop不存在。你不想安裝numpy模塊只爲這雖然...

import numpy as np 
nested_list = [['1','2','3'],['2','4','6']] 
new_lst = np.array(nested_list, dtype=np.float).tolist() 
-1

使用兩個循環是爲這個小任務不是好的選擇,導入任何外部模塊也不是好的選擇:

沒有任何環

一行溶液:

nested_list = [['1','2','3'],['2','4','6']] 

print(list(map(lambda x:list(map(lambda y:float(y),x)),nested_list))) 

輸出:

[[1.0, 2.0, 3.0], [2.0, 4.0, 6.0]] 
+0

'圖(拉姆達Y:浮動(Y),X)'是不必要的複雜,它等同於'地圖(浮動,X)' – scrpy

+0

另外,我認爲這是不正確的說,你的代碼做不要使用兩個循環,因爲當你在'map'對象上調用'list()'時,它必然遍歷'map'的iterable來構造新的列表。除非我誤解了'list(map(...))'在做什麼...... – scrpy