Python通过递归函数输出嵌套列表元素


Posted in Python onOctober 15, 2020

1.先用 for 循环取

for item in l:
  if isinstance(item ,list):
    for newitem in item:
      print(newitem)
  else:
    print(item

输出:
1
2
3
4
5
6

#利用 for 循环取值,有几层嵌套就要写几层 for 循环,否则不识别。
l=[1,2,[3,4],[5,6,[7,8]]]
for item in l:
  if isinstance(item ,list):
    for newitem in item:
      print(newitem)
  else:
    print(item

输出

1
2
3
4
5
6
[7, 8]

2.递归函数实现:

递归函数实现:

def getitem(l):
  for item in l:
    if isinstance(item,list):
      getitem(item)
    else:
      print(item)

getitem(l)

输出:
1
2
3
4
5
6
7
8
9
10

变式1:遇到类表就缩进一次:

def getitem(l,level=0):
  for item in l:
    if isinstance(item,list):
      getitem(item,level+1)
    else:
      for tab in range(level):
        print('\t',end='' #输出一个 制表符,并且将 print 后面的换行符去掉,这样就是了缩进
      print(item)

getitem(l)

输出

Python通过递归函数输出嵌套列表元素

变式2:加入开启机制,是否缩进

def getitem(l,level=0,count=False):
  for item in l:
    if isinstance(item,list):
      getitem(item,level+1,count)
    else:
      if count:
        for tab in range(level):
          print('\t',end='' #输出一个 制表符,并且将 print 后面的换行符去掉,这样就是了缩进
        print(item)
    print(item)

getitem(l)

输出

1
2
3
4
5
6
7
8
9
10

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
flask中主动抛出异常及统一异常处理代码示例
Jan 18 Python
Python基于hashlib模块的文件MD5一致性加密验证示例
Feb 10 Python
Python逐行读取文件中内容的简单方法
Feb 26 Python
详解解决Python memory error的问题(四种解决方案)
Aug 08 Python
python3.7将代码打包成exe程序并添加图标的方法
Oct 11 Python
Python 实现Serial 与STM32J进行串口通讯
Dec 18 Python
pytorch 准备、训练和测试自己的图片数据的方法
Jan 10 Python
python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例
Mar 19 Python
python实现简单坦克大战
Mar 27 Python
JAVA SWT事件四种写法实例解析
Jun 05 Python
Python调用系统命令os.system()和os.popen()的实现
Dec 31 Python
深入理解Pytorch微调torchvision模型
Nov 11 Python
Python安装第三方库攻略(pip和Anaconda)
Oct 15 #Python
Python return语句如何实现结果返回调用
Oct 15 #Python
python 进程池pool使用详解
Oct 15 #Python
python 输入字符串生成所有有效的IP地址(LeetCode 93号题)
Oct 15 #Python
Python3使用 GitLab API 进行批量合并分支
Oct 15 #Python
10款最佳Python开发工具推荐,每一款都是神器
Oct 15 #Python
matplotlib教程——强大的python作图工具库
Oct 15 #Python
You might like
常用星际术语索引(新手指南)
2020/03/04 星际争霸
PHP XML操作类DOMDocument
2009/12/16 PHP
php中使用explode查找某个字符是否存在的方法
2011/07/12 PHP
php数组函数序列之array_sum() - 计算数组元素值之和
2011/10/29 PHP
PHP的构造方法,析构方法和this关键字详细介绍
2013/10/22 PHP
php表单请求获得数据求和示例
2014/05/15 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
2015/01/04 PHP
PHP实现支持SSL连接的SMTP邮件发送类
2015/03/05 PHP
PHP实现指定字段的多维数组排序函数分享
2015/03/09 PHP
举例讲解PHP面对对象编程的多态
2015/08/12 PHP
PHP Curl模拟登录微信公众平台、新浪微博实例代码
2016/01/28 PHP
thinkPHP实现MemCache分布式缓存功能
2016/03/23 PHP
php简单实现sql防注入的方法
2016/04/22 PHP
PHP GD库相关图像生成和处理函数小结
2016/09/30 PHP
详解php用static方法的原因
2018/09/12 PHP
MC Dialog js弹出层 完美兼容多浏览器(5.6更新)
2010/05/06 Javascript
Javascript中匿名函数的多种调用方式总结
2013/12/06 Javascript
jQuery实现按钮点击遮罩加载及处理完后恢复的效果
2016/06/07 Javascript
Node.js中使用mongoose操作mongodb数据库的方法
2017/09/12 Javascript
vue实现选项卡及选项卡切换效果
2018/04/24 Javascript
浅谈webpack 构建性能优化策略小结
2018/06/13 Javascript
小程序异步问题之多个网络请求依次执行并依次收集请求结果
2019/05/05 Javascript
关于vue项目中搜索节流的实现代码
2019/09/17 Javascript
解决layer.confirm快速点击会重复触发事件的问题
2019/09/23 Javascript
nodejs环境使用Typeorm连接查询Oracle数据
2019/12/05 NodeJs
H5+css3+js搭建带验证码的登录页面
2020/10/11 Javascript
[01:06]DOTA2亚洲邀请赛专属珍藏-荧煌之礼
2017/03/24 DOTA
一篇文章读懂Python赋值与拷贝
2018/04/19 Python
python中plot实现即时数据动态显示方法
2018/06/22 Python
Python操作rabbitMQ的示例代码
2019/03/19 Python
python如何安装下载后的模块
2020/07/03 Python
Django+Django-Celery+Celery的整合实战
2021/01/20 Python
CSS3 边框效果
2019/11/04 HTML / CSS
HTML5中新标签和常用标签详解
2014/03/07 HTML / CSS
春季运动会加油词
2015/07/18 职场文书
一文了解Java动态代理的原理及实现
2022/07/07 Java/Android