展开一个嵌套的列表

时间:2022-09-08 12:12:11

给定一个列表,如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([[],[[]]])

展开一个嵌套的列表

相关文章