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 相关文章推荐
Python中针对函数处理的特殊方法
Mar 06 Python
在Python中操作文件之truncate()方法的使用教程
May 25 Python
Perl中著名的Schwartzian转换问题解决实现
Jun 02 Python
Python实现Smtplib发送带有各种附件的邮件实例
Jun 05 Python
Python设计模式之中介模式简单示例
Jan 09 Python
pandas.loc 选取指定列进行操作的实例
May 18 Python
基于DATAFRAME中元素的读取与修改方法
Jun 08 Python
Anaconda2下实现Python2.7和Python3.5的共存方法
Jun 11 Python
详解Python的循环结构知识点
May 20 Python
sklearn+python:线性回归案例
Feb 24 Python
Django ForeignKey与数据库的FOREIGN KEY约束详解
May 20 Python
Python基础之变量的相关知识总结
Jun 23 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
PHP daddslashes 使用方法介绍
2012/10/26 PHP
基于PHP CURL获取邮箱地址的详解
2013/06/03 PHP
如何利用PHP执行.SQL文件
2013/07/05 PHP
完美解决phpdoc导出文档中@package的warning及Error的错误
2016/05/17 PHP
深入剖析PHP中printf()函数格式化使用
2016/05/23 PHP
PHP微信支付实例解析
2016/07/22 PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
2018/10/18 PHP
在js中单选框和复选框获取值的方式
2009/11/06 Javascript
jQuery Autocomplete自动完成插件
2010/07/17 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
2013/06/05 Javascript
关于jQuery中的each方法(jQuery到底干了什么)
2014/03/05 Javascript
jQuery向后台传入json格式数据的方法
2015/02/13 Javascript
jQuery多文件异步上传带进度条实例代码
2016/08/16 Javascript
js实现可以点击收缩或张开的悬浮窗
2017/09/18 Javascript
浅谈vue-router 路由传参的方法
2017/12/27 Javascript
[31:47]夜魇凡尔赛茶话会 第三期01:选手知多少
2021/03/11 DOTA
python实现数组插入新元素的方法
2015/05/22 Python
Python循环语句中else的用法总结
2016/09/11 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
2018/10/26 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
2019/07/11 Python
python将print输出的信息保留到日志文件中
2019/09/27 Python
Python3.8对可迭代解包的改进及用法详解
2019/10/15 Python
Pytorch 之修改Tensor部分值方式
2019/12/27 Python
Python之Matplotlib文字与注释的使用方法
2020/06/18 Python
python中数字是否为可变类型
2020/07/08 Python
软件测试笔试题
2012/10/25 面试题
大学毕业的自我鉴定
2013/10/08 职场文书
质检部部长职责
2013/12/16 职场文书
《鸟岛》教学反思
2014/04/26 职场文书
检察院起诉意见书
2015/05/20 职场文书
2017元旦晚会开幕词
2016/03/03 职场文书
如何使JavaScript休眠或等待
2021/04/27 Javascript
写一个Python脚本下载哔哩哔哩舞蹈区的所有视频
2021/05/31 Python
Python异常类型以及处理方法汇总
2021/06/05 Python
配置Kubernetes外网访问集群
2022/03/31 Servers
SQL语句中EXISTS的详细用法大全
2022/06/25 MySQL