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
简单介绍Ruby中的CGI编程
Apr 10 Python
利用Fn.py库在Python中进行函数式编程
Apr 22 Python
selenium+python 去除启动的黑色cmd窗口方法
May 22 Python
python 随机打乱 图片和对应的标签方法
Dec 14 Python
python开发准备工作之配置虚拟环境(非常重要)
Feb 11 Python
Python同步遍历多个列表的示例
Feb 19 Python
pymysql 开启调试模式的实现
Sep 24 Python
python实现从ftp服务器下载文件
Mar 03 Python
Python tcp传输代码实例解析
Mar 18 Python
基于python调用jenkins-cli实现快速发布
Aug 14 Python
使用tensorflow 实现反向传播求导
May 26 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使HTML标签自动补全闭合函数代码
2012/10/04 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
2013/10/10 PHP
使用PHP如何实现高效安全的ftp服务器(一)
2015/12/20 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
2017/06/12 PHP
php格式文件打开的四种方法
2018/02/24 PHP
PHP发送邮件确认验证注册功能示例【修改别人邮件类】
2019/11/09 PHP
TNC vs BOOM BO3 第一场2.13
2021/03/10 DOTA
JavaScript 组件之旅(三):用 Ant 构建组件
2009/10/28 Javascript
地址栏传递中文参数乱码在js里用escape转码
2013/08/28 Javascript
jQuery对Select的操作大集合(收藏)
2013/12/28 Javascript
PHP中CURL的几个经典应用实例
2015/01/23 Javascript
基于JavaScript实现网页倒计时自动跳转代码
2015/12/28 Javascript
利用vue实现模态框组件
2016/12/19 Javascript
JavaScript实现定时页面跳转功能示例
2017/02/14 Javascript
jQuery获取Table某列的值(推荐)
2017/03/03 Javascript
ES6关于Promise的用法详解
2018/05/07 Javascript
详解微信小程序canvas圆角矩形的绘制的方法
2018/08/22 Javascript
angular4中引入echarts的方法示例
2019/01/29 Javascript
如何在JavaScript中谨慎使用代码注释
2019/06/21 Javascript
Ubuntu下使用Python实现游戏制作中的切分图片功能
2018/03/30 Python
Python3爬虫使用Fidder实现APP爬取示例
2018/11/27 Python
Python3 log10()函数简单用法
2019/02/19 Python
Python datetime包函数简单介绍
2019/08/28 Python
python str字符串转uuid实例
2020/03/03 Python
pycharm-professional-2020.1下载与激活的教程
2020/09/21 Python
python 简单的调用有道翻译
2020/11/25 Python
C# .NET面试题
2015/11/28 面试题
经贸日语毕业生自荐信
2013/11/03 职场文书
地理信息科学专业推荐信
2014/09/08 职场文书
党员四风自我剖析材料
2014/10/07 职场文书
教师党员学习群众路线心得体会
2014/11/04 职场文书
预备党员自我评价范文
2015/03/04 职场文书
《抽屉原理》教学反思
2016/02/20 职场文书
《彼得与狼》教学反思
2016/02/20 职场文书
MySQL 使用SQL语句修改表名的实现
2021/04/07 MySQL
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS