2017-11-25 167 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