专栏首页python3python-分解多列表嵌套

python-分解多列表嵌套

针对多列表嵌套,如何获取所有元素?

之前使用for循环+if判断,进行分解,如下:

    for first_layer in lists:         if isinstance(first_layer,list):             for second_layer in first_layer:

                if isinstance(second_layer,list):

                    for third_layer in second_layer:

                        print third_layer

        else:             print first_layer

但是,若遇到列表有4重嵌套、5重嵌套...等等,代码显得无比复杂、臃肿。

于是想到函数复用性,如下:

#!/usr/bin/env python #coding:utf-8 fruit=['a','b',123,['c',345,'d',['e','f',90],22,'cc'],'po',34] def layer(lists):     for first_layer in lists:         if isinstance(first_layer,list):             layer(first_layer)         else:             print first_layer layer(fruit)

这样,不管多少个列表嵌套,只需传参给函数就行,可以实现逐级分解。函数还能被移植调用,可用性增强。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python 数组的切片操作

    高级特性 切片操作:对list,tuple元素进行截取操作,非常简便。 L[0:3],L[:3] 截取前3个元素。 L[1:3] 从1开始截取2个元素...

    py3study
  • python编写文件统计脚本

    思路:用os模块中的一些函数(os.listdir()、os.path.isdir()、os.path.join()、os.path.abspath()等)

    py3study
  • python - 流程控制基础习题

    py3study
  • 页面弹出层组件layer的用法

    layer提供了5种层类型。可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)。 若你采用layer.open({ty...

    爱明依
  • layer小提示弹框验证

    当验证失败的时候,会出现弹框进行提示,如果直接写alert的话显得太原始了,放一个layer验证提示弹框代码在里面,ui瞬间变得有模有样了 。

    祈澈菇凉
  • CAGradientLayer颜色渐变器

    下面是我用上面的代码实现的最终效果,startPoint是(0,0),endPoint是(1,1)。

    周希
  • circos 可视化手册-tile 篇

    tile用来展示基因组上区域的分布,和之前介绍过的highlight不同,这些区域在图中并不是位于同一层的。为了避免不同区域之间的重叠,tile会将有重叠的区域...

    生信修炼手册
  • 深度优先、广度优先创建n叉树

    theanarkh
  • layer关闭弹窗

    layer.close(index); //此时你只需要把获得的index,轻轻地赋予layer.close即可

    似水的流年
  • iOS 视图,动画渲染机制探究

    终端的开发,首当其冲的就是视图、动画的渲染,切换等等。用户使用 App 时最直接的体验就是这个界面好不好看,动画炫不炫,滑动流不流畅。UI就是 App 的门面,...

    腾讯Bugly

扫码关注云+社区

领取腾讯云代金券