摄影:产品经理
有这样一个列表套列表的数据结构:
a = [1, 2, [3, 4, [5, 6, 7], 8], 9, [10, 11]]
现在想把它变为:
b = [1, 2, 3, 4, 5,...实际上,如果使用生成器,这个问题就会变得简单很多:
def flat(deep_list):
for element in deep_list:
if isinstance(element...a = [1, 2, [3, 4, [5, 6, 7], 8], 9, [10, 11]]
result = [x for x in flat(a)]
print(result)
在这个解法里面,使用了...在 flat里面,对传入的参数使用for循环进行迭代,如果拿到的元素不是列表,那么就直接抛出,送到上一层。如果当前已经是最上层了,那么就再一次抛出给外面的列表推导式。