Python通过递归函数输出嵌套列表元素
作者:lincappu 发布时间:2021-03-23 15:36:09
标签:Python,递归,函数,嵌套
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)
输出
变式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
来源:https://www.cnblogs.com/lincappu/p/8146055.html


猜你喜欢
- 同时在线访问量继续增大 对于1G内存的服务器明显感觉到吃力严重时甚至每天都会死机 或者时不时的服务器卡一下 这个问题曾经困扰了我半个多月My
- 前言:学习JavaScript的童鞋都知道,我们在发送网络请求,也就是我们在地址栏输入一个网址,就会自动跳转到当前网址,比如在浏览器网址输入
- 装饰器模式在以下场景中被广泛应用:动态地向对象添加职责或行为,而不需要更改对象的代码。例如,可以通过装饰器模式来实现日志记录、性能分析、缓存
- 前言我们在处理数据库的问题的时候,有时在数据库端看不到异常的等待,但是应用却报连接异常。这种情况,有可能是在压力还没有传递到数据库,在网络这
- 数据存储·在javascript中,数据存储的位置会对代码整体性能产生重大的影响。·数据存储共有4种方式:字面量、变量、数组、对象成员。·要
- 第一种# -*- coding: utf-8 -*-# @Time : 2020/3/16 21:26# @File : get_text_
- 大家觉得在接手遗留代码时,见到什么东东是最让人感到不耐烦的?复杂无比的 UML ?我觉得不是。我的答案是,超过两个 else 的 if ,或
- 从MySQL 5.0 开始,支持了一个全新的SQL句法:PREPARE stmt_name FROM preparable_stmt;EXE
- 计时器用来定时执行任务,分享一段代码:package mainimport "time"import "fmt
- 前言本文的github仓库地址为: 替换照片人物背景项目(模型文件过大,不在仓库中)由于模型文件过大,没放在仓库中,本文下面有模型下载地址。
- 1.搭建环境:系统版本:Linux centos-linux.shared 3.10.0-123.el7.x86_64 #1 SMP Mon
- 基本思路就是,使用MIMEMultipart来标示这个邮件是多个部分组成的,然后attach各个部分。如果是附件,则add_header加入
- 导读:由于banner一般用于专题类网站,在门户网站的二级页面,用户进来之前,在首页已经对主题有一定的了解和认识,所以banner的作用是在
- 一、问题背景纸面上有一枚一元钱的银币,你能在 Canny 和 Hough 的帮助下找到它的坐标方程吗?确定一个圆的坐标方程,首先我们要检测到
- Supervisor 是一个类 unix 操作系统下的进程监控管理工具。安装 SupervisorSupervisor 是由 Python
- 本文整理了3种鼠标经过图片,图片边框加粗或改变颜色的方法,希望大家喜欢。下面3中只是提供了一个方法,具体的鼠标经过图片的样式,你自己可以修改
- 实际上,在web开发中,cookie仅仅是一个文本文件,当用户访问站点时,它就被存储在用户使用的计算机上,其中,保存了一些信息,当用户日后再
- 原本运行正常的ASP页面,今天突然提示: 代码如下: Microsoft VBScript 运行时错误 错误 '800a01a8&
- 前言安全性是所有数据库管理系统的一个重要特征。理解安全性问题是理解数据库管理系统安全性机制的前提。最近和同事在做数据库权限清理的事情,主要是
- 内容摘要:一堆数据摆面前,数据背后有什么样的事情在发生,这些数据里面暗藏着什么样的用户需求,什么样的商业机会?看懂这些,将为未来产品设计的方