python - 展平由对象组成的列表或没有 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)
是否有没有类型检查的单线来完成这项任务?
解决方案
尝试这个:-
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]
推荐阅读
- laravel - 如何使用 laravel 在 phpword 中添加表格
- r - 求字符串序列之间的汉明距离
- java - 火花数据框/数据集上的自定义排序顺序
- c# - ASP.NET Core MVC 模型 - SqlException 无法为标识列插入显式值
- django - 注销后销毁令牌
- swagger-ui - 使用 swagger ui 从 OpenAPI 规范导出 API 路径列表
- javascript - 有没有办法将长度大于 15 的字符串转换为数字,而不进行四舍五入?
- c - 在数组中查找最小偶数和最大偶数
- java - 如何故意让 kubernetes 的工作失败?
- grouping - 如何在列表和标签中为多个级别的组创建小计