方案一:使用迭代 yield
def fib(data):
for item in data:
if isinstance(item, list):
yield from fib(item)
else:
yield item
source_data = [2, [3, 4], [4, 5, [7, 10]]]
res = [i for i in fib(source_data)]
print(res)
方案二
def fib(data):
res = []
for item in data:
if isinstance(item, list):
res.extend(fib(item))
else:
res.append(item)
return res
source_data = [2, [3, 4], [4, 5, [7, 10]]]
print(fib(source_data))