给定一个列表,如A=[1,[],[3,4,[5,6]],7,[8,9]],列表的子项仍然可能是列表,以此类推,即列表的嵌套可以到达任意的深度。
输入:输入一个嵌套列表,列表中不会出现字典,元祖等数据结构
输出:输出一个展开的列表
expend()接受一个列表参数,把参数列表的元素添加到列表的尾部
append()接受一个对象参数,把对象添加到列表的尾部
[1,2].expend([1,2,3])
[1,2,1,2,3]
[1,2].append([1,2,3])
[1,2,[1,2,3]]
#!-*-coding:UTF-8 -*-
def flatten_list(in_list):
if in_list is None:
return None
out_list = []
len_list = len(in_list)
for i in xrange(len_list):
if not isinstance(in_list[i],list):
out_list.append(in_list[i])
else:
out_list.extend(flatten_list(in_list[i]))
return out_list
print flatten_list([1,[],2,[3,4,[5,6]],7,[8,9]])
print flatten_list([[],[[]]])