Python 实现flatten功能
2024-08-29 07:04:25
from collections import Iterable def flatten(items):
for x in items:
if isinstance(x, Iterable) and not isinstance(x, (str, bytes)):
yield from flatten(x)
else:
yield x
""" >>> items = [1, 2, [3, 4, [5, 6], 7], 8]
>>> flatten(items)
<generator object flatten at 0x73bd9c>
>>> list(flatten(items))
[1, 2, 3, 4, 5, 6, 7, 8]
>>> mixed_bag = [1, 'spam', 2, [3, 'eggs', 4], {'x': 1, 'y': 2}]
>>> list(flatten(mixed_bag))
[1, 'spam', 2, 3, 'eggs', 4, 'y', 'x']
"""
最新文章
- “You couldn’t see my tears cause I am in the water.“ Fish said to water.“But I could feel your tears cause you are in my heart..“ Answered water.
- J2EE版本
- gui2
- Oracle 11g Express
- 期望DP
- nginx完美支持yii2框架
- java 中 java.lang.ArrayIndexOutOfBoundsException: 0 异常
- iss 防火墙
- 【 HDU 1255】 覆盖的面积(矩阵面积交,线段树,扫描法)
- 用特殊字体来实现矢量ICON
- jquery中常用的方法和注意点
- python_开发规范
- alpha-咸鱼冲刺day2-紫仪
- 去除input默认带的上下按钮与修改placeholder的默认颜色、背景、placeholder内容的大小
- $ORACLE_HOME/rdbms/demo示例安装
- virtualBox NAT模式,设置虚拟机可上网,宿主机可访问虚拟机的方法
- RAC6——crsctl 和 srvctl 命令的区别理解
- 大神真会玩~这组C4D动图,我都看了一整天!
- (转) 打开声音设备需要使用waveOutOpen函数
- 在 Linux 系统中安装Load Generator ,并在windows 调用
热门文章
- Linux学习系列——零基础开始
- Logback configuration
- (转)一个故事讲完https
- 编写高质量代码改善C#程序的157个建议——建议136:优先使用后缀表示已有类型的新版本
- 编写高质量代码改善C#程序的157个建议——建议107:区分静态类和单例
- 关于linq to sql调用存储过程,出现";无法枚举查询结果多次";的问题
- HBASE与hive对比使用以及HBASE常用shell操作。与sqoop的集成
- mysql复制表以及复制数据库
- Jenkins Pipeline+Maven+Gitlab持续集成构建
- 「SHOI2016」黑暗前的幻想乡