添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
豁达的上铺  ·  如何用 Excel ...·  6 月前    · 
大气的伏特加  ·  jQuery 实现 bootstrap ...·  1 年前    · 
越狱的蚂蚁  ·  [netty]-入门案例 - ...·  1 年前    · 
嵌套数组完全展开

嵌套数组完全展开

对于如下数组:

[[[1,2,3],[4,5]]]

如何完全展开成一维的。这个小例子实现的flatten是递归版,两个参数分别表示带展开的数组,输出数组。

from collections.abc import *
# 返回list
def flatten(input_arr, output_arr=None):
 if output_arr is None:
 output_arr = []
 for ele in input_arr:
 if isinstance(ele, Iterable): # 判断ele是否可迭代
 flatten(ele, output_arr) # 尾数递归
 else:
 output_arr.append(ele) # 产生结果
 return output_arr

调用flatten:

print(flatten([[1,2,3],[4,5]]))
print(flatten([[1,2,3],[4,5]], [6,7]))
print(flatten([[[1,2,3],[4,5,6]]]))
# 结果: