晚上回去复习下原来的资料,返现Codebook中有个关于“展开一个嵌套序列”的话题。

  任务说明:序列中的子项可能是序列,子序列的子项仍可能是序列,以此类推,则序列嵌套可以达到任意的深度。需要循环遍历一个序列,将其中所有的子序列展开成一个单一的、只具备基本子项的序列。

  举例来说就是形如如下序列a:

  a = [(1, [2, 3, (7, 8)],), 4, [5, 6, (9, 10)]],根据资料上的代码输出的结果如下:

  (图1),而我可能对于理解任务中所说的原子级别的元素可能有点问题。我根据自己的理解就是想将这个序列一个个的吐出来。

  例如形如[2, 3, (7, 8)]和 (9, 10)还是可以再拆分的,图1的结果只是到了第二层时遇到序列就不拆分了,所以自己动手来做个这样的实现,使得最后的结果如图2所示:

  (图2)。

  实现的代码过程其实就是判断加递归。。

  代码如下:

  

def flatten(sequence):
for i in sequence:
if isinstance(i, (list, tuple)):
flatten(i)
if not isinstance(i, (list, tuple)):
for subitem in i:
print subitem
else:
print i

看到这样的文章顺便有了自己的想法就顺便思考下,感觉这样的处理还是有应用价值的,记录下来。。方便以后使用。。。。

  

最新文章

  1. C#并行编程之数据并行
  2. mysql知识初篇(一)
  3. 最大化 AIX 上的 Java 性能,第 4 部分: 监视流量
  4. Android ListView快速定位(三)
  5. python文件操作_对文件进行复制拷贝_代码实现
  6. pdo操纵mysql数据库
  7. mysql单表多表查询
  8. 【Codeforces Round #431 (Div. 1) D.Shake It!】
  9. 54. Spiral Matrix(中等)
  10. Linux第四节课学习笔记
  11. 弹出的 Dialog 里,包含 Form,如何在关闭 Dialog 时,执行 resetFields(对整个表单进行重置,将所有字段值重置为初始值并移除校验结果)
  12. MySql联合查询
  13. 9.8 翻译系列:数据注解特性之--Required 【EF 6 Code-First系列】
  14. theos第一次编译成功,记录一下
  15. 237. 程序自动分析 【map+并查集】
  16. codeforces 671D Roads in Yusland & hdu 5293 Tree chain problem
  17. Vue自动化工具(Vue-CLI)
  18. Rookey.Frame之实体FluentValidation验证
  19. Windows 如何完整备份驱动
  20. SQL Server ->> 获取服务器名字和SQL SERVER实例名的几种函数

热门文章

  1. json-smart 使用示例
  2. 将 Servlet (HTTP POST/GET)请求发布到OSB
  3. vmstat命令查看系统资源占用情况
  4. python supervisor demo deployment
  5. Broadcast Reveiver作用
  6. Android 动态监听网络 断网重连
  7. 使用百度富文本编辑器UEditor碰到的问题
  8. (一)Harbor安装 -- 企业级Registry仓库
  9. mysql java写入时间少14小时
  10. trove最新命令简单分类解析