【发布时间】:2018-10-29 01:12:02
【问题描述】:
我有一些列表。每个列表的长度和深度以不可预测的方式变化。我想对每个底部元素应用一个函数。对于这个问题,我们可以说我只需要将每个 int 转换为 float。
我搜索了这个网站,发现了这个:Python: How to loop a list of lists of varying depth?
但是,当将此适应我的问题时,它成功地访问了每个元素,但似乎并没有转换实际值。最后,当我想要一个浮点列表时,我仍然有一个 int 列表。
def list_flatten(my_list):
for item in my_list:
if(isinstance(item,list)):
list_flatten(item)
else:
item = float(item)
return my_list
problem = [[[[1,1],[2,2],[3,3]],[[4,4],[5,5],[6,6]],[[7,7],[[8,8],[9,9]]]]]
print(list_flatten(problem))
【问题讨论】:
-
您能告诉我们预期的输出吗?你只是想让这个:
[[1,2], [3,6], [9,8]]变成[1.0, 2.0, 3.0, 6.0, 9.0, 8.0]吗? -
您没有将浮动结果保存在任何地方
-
如果你想在 python 上做得更好,你必须了解可变和不可变数据类型
-
谢谢大家。我认为 item = float(item) 正在保存结果,但也许这不是可变的,正如其他评论员所说的那样。
标签: python