list1 = [11, [22, 3], [4, ], [55, 66], 8, [9, [7, [12, [34, [26]]]]]]
去除多餘嵌套的列表,獲得[11, 22, 3, 4, 55, 66, 8]app
方法1:ide
def func(x): ret = [] for b in x: if isinstance(b, list): for a in func(b): ret.append(a) else: ret.append(b) return ret ret = func(list1) print(ret)
方法2:列表推導式code
def func(x): return [a for b in x for a in func(b)] if isinstance(x, list) else [x] ret = func(list1) print(ret)