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 冒泡,选择,插入排序使用实例
Feb 05 Python
Python去除列表中重复元素的方法
Mar 20 Python
python装饰器与递归算法详解
Feb 18 Python
Python实现连接postgresql数据库的方法分析
Dec 27 Python
Windows 7下Python Web环境搭建图文教程
Mar 20 Python
python linecache 处理固定格式文本数据的方法
Jan 08 Python
python+mysql实现教务管理系统
Feb 20 Python
Python新手学习raise用法
Jun 03 Python
用python绘制樱花树
Oct 09 Python
pycharm Tab键设置成4个空格的操作
Feb 26 Python
Python网络编程之ZeroMQ知识总结
Apr 25 Python
Django migrate报错的解决方案
May 20 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
linux命令之调试工具strace的深入分析
2013/06/03 PHP
解析PHP中的unset究竟会不会释放内存
2013/07/18 PHP
PHP+ajax实现获取新闻数据简单示例
2018/05/08 PHP
Prototype使用指南之form.js
2007/01/10 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
2013/09/27 Javascript
JavaScript实现可拖拽的拖动层Div实例
2015/08/05 Javascript
AngularJS入门(用ng-repeat指令实现循环输出
2016/05/05 Javascript
微信小程序 navbar实例详解
2017/05/11 Javascript
Node.js开发第三方微信公众平台
2017/06/05 Javascript
使用sessionStorage解决vuex在页面刷新后数据被清除的问题
2018/04/13 Javascript
JS计算斐波拉切代码实例
2019/09/12 Javascript
redux处理异步action解决方案
2020/03/22 Javascript
vue实现列表滚动的过渡动画
2020/06/29 Javascript
vue-resource 拦截器interceptors使用详解
2021/01/18 Vue.js
[01:09:01]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第一场 10.28
2020/10/28 DOTA
使用Python设置tmpfs来加速项目的教程
2015/04/17 Python
Python使用matplotlib实现在坐标系中画一个矩形的方法
2015/05/20 Python
详解python项目实战:模拟登陆CSDN
2019/04/04 Python
Python3.5 Json与pickle实现数据序列化与反序列化操作示例
2019/04/29 Python
Django后端发送小程序微信模板消息示例(服务通知)
2019/12/17 Python
PyTorch使用cpu加载模型运算方式
2020/01/13 Python
使用python从三个角度解决josephus问题的方法
2020/03/27 Python
python爬虫基础知识点整理
2020/06/02 Python
英国的知名精品百货公司:House of Fraser(福来德)
2016/08/14 全球购物
美国网上订购鲜花:FTD
2016/09/23 全球购物
日本必酷网络直营店:Biccamera
2019/03/23 全球购物
Eclipse面试题
2014/03/22 面试题
C语言笔试题
2014/09/04 面试题
优秀团员个人事迹材料
2014/01/29 职场文书
社区健康教育实施方案
2014/03/18 职场文书
营销部内勤岗位职责
2014/04/30 职场文书
销售目标责任书
2014/07/23 职场文书
运动会100米加油稿
2015/07/21 职场文书
运动会100米广播稿
2015/08/19 职场文书
在MySQL中你成功的避开了所有索引
2022/04/20 MySQL
python可视化分析绘制带趋势线的散点图和边缘直方图
2022/06/25 Python