首页 > 解决方案 > 展平由对象组成的列表或没有 isintance 的列表

问题描述

有一个类似的列表:

l = [0, 1,[2, 3], 4, 5, [6, 7], {1, 2}]

我可以用以下方法将其展平:

from collections.abc import Iterable
aux = []
for e in l:
   if not isinstance(e, Iterable):
       aux.append(e)
   else:
       aux.extend(e)

是否有没有类型检查的单线来完成这项任务?

标签: python

解决方案


尝试这个:-

管道pypi

from pipe import traverse
l = [0, 1,[2, 3], 4, 5, [6, 7], {1, 2}]
aux=list(l | traverse)

输出:-

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

推荐阅读