面试题:从多层嵌套的list中取出单个元素

假设有一个多层嵌套的list:[ 1, [2, 3], 4, [5, 6, 7]],从中取出单个元素,组成一个新的list。

解题思路:很明显,采用递归的方法,在一个遍历原始list的for循环中,判断该遍历的是元素还是list,如果是元素则直接append,如果是list则调用函数进行递归。

代码如下:

result = []
def solve_list(list):
	for s in list:
		if type(s) != list:
			result.append(s)
		else:
			solve_list(s)

list = [1, [2, 3], 4, [5, 6, 7]]
solve(list)
print(result)

运行结果如下:

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

—— 完 ——
相关推荐
评论

立 为 非 似

中 谁 昨 此

宵 风 夜 星

。 露 , 辰

文章点击榜

细 无 轻 自

如 边 似 在

愁 丝 梦 飞

。 雨 , 花