Python:展平嵌套列表的嵌套列表

时间:2016-10-01 13:14:21

标签: python recursion functional-programming nested-lists

我正在尝试创建一个函数,该函数接收嵌套列表的列表,而嵌套列表又可能在其中包含嵌套列表。虽然对我来说没有意义,但为什么我应该做这样的事情,我的实验室教练坚持认为它在未来的项目和整个生活中非常有用。 这是我尝试创建完成这种功能的双递归函数。如果你能指出我做错了什么以及如何解决它,我将不胜感激。

Pos(lat=30, lng=150)
30 150
[Pos(lat=4.54323, lng=5.4325), Pos(lat=7.235, lng=3.67543), Pos(lat=9.342543, lng=1.65323)]

这是输出:

def flatten_list(list_arg): if not list_arg: return [] elif isinstance(list_arg[0],list): return [list_arg[0]] + flatten_list(list_arg[1:]) else: return [list_arg[0]] + flatten_list(list_arg[1:]) print(flatten_list([1,2,[3,[4,[5,6]]]])) 这基本上意味着函数没有做任何事情,它只消耗一些堆栈内存一段时间,并以相同的输入终止。哦,在我忘记这是函数式编程之前所以我不允许在我的函数中更改变量,产生副作用或使用循环。它应该是纯粹的递归,没有变量等,就像常规数学函数的工作方式一样。

0 个答案:

没有答案