python将列表中的不规则元素打平为单个元素

例如:

a = [1, 2, [3, 4], [[5, 6], [7, 8]]]

期待结果:

b=[1, 2, 3, 4, 5, 6, 7, 8]

代码:


fn = lambda x: [y for l in x for y in fn(l)] if type(x) is list else [x]
fn(a) 

这一行代码,用到了迭代、匿名函数、递推函数、解析式这些技巧。

你可能感兴趣的:(python)