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 正则表达式 概述及常用字符
May 04 Python
Python 第一步 hello world
Sep 25 Python
python使用append合并两个数组的方法
Apr 28 Python
Python语言的面相对象编程方式初步学习
Mar 12 Python
解决Python2.7中IDLE启动没有反应的问题
Nov 30 Python
Python利用字典破解WIFI密码的方法
Feb 27 Python
Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】
Jun 18 Python
django的分页器Paginator 从django中导入类
Jul 25 Python
pycharm的python_stubs问题
Apr 08 Python
keras自动编码器实现系列之卷积自动编码器操作
Jul 03 Python
python -v 报错问题的解决方法
Sep 15 Python
Python中使用tkFileDialog实现文件选择、保存和路径选择
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
深入了解php4(1)--回到未来
2006/10/09 PHP
php中函数的形参与实参的问题说明
2010/09/01 PHP
PHP整合PayPal支付
2015/06/11 PHP
PHP7标量类型declare用法实例分析
2016/09/26 PHP
php实现网页端验证码功能
2017/07/11 PHP
php之header的不同用法总结(实例讲解)
2017/11/28 PHP
Smarty模板语法详解
2019/07/20 PHP
XAMPP升级PHP版本实现步骤解析
2020/09/04 PHP
js实现兼容IE6与IE7的DIV高度
2010/05/13 Javascript
javascript 闭包疑问
2010/12/30 Javascript
jQuery 中使用JSON的实现代码
2011/12/01 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
2013/10/18 Javascript
JavaScript 基本概念
2015/01/20 Javascript
SuperSlide标签切换、焦点图多种组合插件
2015/03/14 Javascript
AngularJS 视图详解及示例代码
2016/08/17 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
2017/01/05 Javascript
jQuery实现的隔行变色功能【案例】
2019/02/18 jQuery
基于Vue2-Calendar改进的日历组件(含中文使用说明)
2019/04/14 Javascript
微信小程序实现收货地址左滑删除
2020/11/18 Javascript
JavaScript单线程和任务队列原理解析
2020/02/04 Javascript
Vue 3自定义指令开发的相关总结
2021/01/29 Vue.js
python错误处理详解
2014/09/28 Python
python Django框架实现自定义表单提交
2016/03/25 Python
Python增量循环删除MySQL表数据的方法
2016/09/23 Python
Python实现随机选择元素功能
2017/09/14 Python
TensorFlow的权值更新方法
2018/06/14 Python
Python pycharm 同时加载多个项目的方法
2019/01/17 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
对Python 中矩阵或者数组相减的法则详解
2019/08/26 Python
酒店人事专员岗位职责
2013/12/19 职场文书
最新创业融资计划书
2014/01/19 职场文书
股份合作协议书
2014/04/12 职场文书
售房委托书
2014/08/30 职场文书
2019年关于小学生课外阅读情况的分析报告
2019/12/02 职场文书
MySQL系列之开篇 MySQL关系型数据库基础概念
2021/07/02 MySQL
Redis监控工具RedisInsight安装与使用
2022/03/21 Redis