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中由于logging模块误用导致的内存泄露
Apr 23 Python
Django中ORM表的创建和增删改查方法示例
Nov 15 Python
Python2与python3中 for 循环语句基础与实例分析
Nov 20 Python
在Pycharm中项目解释器与环境变量的设置方法
Oct 29 Python
Django框架实现的简单分页功能示例
Dec 04 Python
Kali Linux安装ipython2 和 ipython3的方法
Jul 11 Python
Flask框架模板渲染操作简单示例
Jul 31 Python
python中def是做什么的
Jun 10 Python
使用Keras构造简单的CNN网络实例
Jun 29 Python
快速了解Python开发环境Spyder
Jun 29 Python
Python Matplotlib简易教程(小白教程)
Jul 28 Python
scrapy-splash简单使用详解
Feb 21 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
DOTA2 1月28日更新:监管系统降临刀塔世界
2021/01/28 DOTA
php反射应用示例
2014/02/25 PHP
PHP 函数call_user_func和call_user_func_array用法详解
2014/03/02 PHP
php实现专业获取网站SEO信息类实例
2015/04/02 PHP
php语言的7种基本的排序方法
2020/12/28 PHP
PHP实现浏览器格式化显示XML的方法示例
2019/01/22 PHP
Thinkphp5框架中引入Markdown编辑器操作示例
2020/06/03 PHP
使用javascript控制cookie显示和隐藏背景图
2014/02/12 Javascript
IE中的File域无法清空使用jQuery重设File域
2014/04/24 Javascript
jQuery实现统计输入文字个数的方法
2015/03/11 Javascript
javascript跑马灯抽奖实例讲解
2020/04/17 Javascript
jQuery鼠标事件总结
2016/10/13 Javascript
正则表达式,替换所有HTML标签的简单实例
2016/11/28 Javascript
JavaScript基于扩展String实现替换字符串中index处字符的方法
2017/06/13 Javascript
jQuery序列化后的表单值转换成Json
2017/06/16 jQuery
详解Vue中一种简易路由传参办法
2017/09/15 Javascript
js实现会跳动的日历效果(完整实例)
2017/10/18 Javascript
浅谈Vue响应式(数组变异方法)
2018/05/07 Javascript
Bootstrap的aria-label和aria-labelledby属性实例详解
2018/11/02 Javascript
JS实现的点击按钮图片上下滚动效果示例
2019/01/28 Javascript
TypeScript高级用法的知识点汇总
2019/12/17 Javascript
vuex入门最详细整理
2020/03/04 Javascript
jQuery带控制按钮轮播图插件
2020/07/31 jQuery
[49:29]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python发送以整个文件夹的内容为附件的邮件的教程
2015/05/06 Python
Python编程之属性和方法实例详解
2015/05/19 Python
基于Django模板中的数字自增(详解)
2017/09/05 Python
Python实现的简单读写csv文件操作示例
2018/07/12 Python
Python实现的读取/更改/写入xml文件操作示例
2018/08/30 Python
使用python脚本自动创建pip.ini配置文件代码实例
2019/09/20 Python
Python预测2020高考分数和录取情况
2020/07/08 Python
药店主任岗位责任制
2014/02/10 职场文书
爱国演讲稿500字
2014/05/04 职场文书
消防宣传口号
2014/06/16 职场文书
CSS变量实现主题切换的方法
2021/06/23 HTML / CSS
分析并发编程之LongAdder原理
2021/06/29 Java/Android