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
python利用递归函数输出嵌套列表的每个元素的更多相关文章
- 【原创】从 列表的重复 到 用sum展开二层嵌套列表将子元素合并
转载请注明出处:https://www.cnblogs.com/oceanicstar/p/9517159.html ★像R语言里头有rep函数可以让向量的值重复,在python里面可以直 ...
- Python中使用递归输出嵌套列表并转化为大写
- python 利用numpy同时打乱列表的顺序,同时打乱数据和标签的顺序
可用于网络训练打乱训练数据个标签,不改变对应关系 方法一: np.random.shuffle (无返回值,直接打乱原列表) state = np.random.get_state() np.rand ...
- python技巧:拆分多层嵌套列表
方法一: >>> import itertools >>> a = [[1, 2], [3, 4], [5, 6]] >>> list(itert ...
- python 读取文件生成嵌套列表
def read_data(file_name): if not re.findall(".txt", file_name): file_name += ".txt&qu ...
- python中range函数与列表中删除元素
一.range函数使用 range(1,5) 代表从1到4(不包含5),结果为:1,2,3,4 ,默认步长为1 range(1,5,2) 结果为:1, 3 (同样不包含5) ,步长为2 ...
- python整型-浮点型-字符串-列表及内置函数(上)
整型 简介 # 是否可变类型: 不可变类型 # 作用:记录年龄.手机号 # 定义: age = 18 # --> 内部操作 age = int(18) # int('sada') # 报错 in ...
- python数据类型详解及列表字典集合推导式详解
一.运算符 Python语言支持以下类型的运算符: 算术运算符 如: #!/usr/bin/env python # -*- coding:utf-8 -*- a = 5 b = 6 print(a ...
- Python 2.7 学习笔记 列表的使用
同其它编程语言一样,python也提供了丰富的数据结构,以方便数据的处理.本文介绍两种最基本的数据集合,列表和元组的使用. 一.列表使用介绍 可以理解为一个有序的序列.其使用方式举例如下: list= ...
随机推荐
- 【Unity3D与23种设计模式】模板方法模式(Template Method)
GoF中定义: "在一个操作方法中定义算法的流程,其中某些步骤由子类完成. 模板方法模式让子类在不变更原有算法流程的情况下,还能够重新定义其中的步骤" 每一次武器攻击目标时,都要按 ...
- centos6.x上安装Java-1.8.0
author : headsen chen date : 2017-12-04 10:32:44 notice :This article is created by headsen chen h ...
- ubuntu14.04行更新软件包
ubuntu14.04行更新软件包 headsen chen 2017-10-12 16:01:34 apt-get update对应的就是第一步. apt-get upgrade 与apt-g ...
- Filecoin官方更新: Q4工作进展和2018年工作计划
ICO过后,Filecoin团队一直没有对外更新过工作计划(很多投资人都等待的不耐烦了).经过漫长的等待,在新年的第一个工作日,我们终于等来了来自于filecoin团队的声音, 这次更新真是出乎小编的 ...
- 简单了解C语言内嵌汇编
最近看自旋锁的实现,自选锁的循环查找锁的主要实现类似如下,该实现使用到了内嵌的汇编(摘自sanos内核,源代码有2处实现,一处使用intel汇编,是没有问题的,另一处使用内嵌汇编语法,源代码中为cmp ...
- 实用的HTML优化技巧
如何提升Web页面的性能,很多开发人员从多个方面来下手如JavaScript.图像优化.服务器配置,文件压缩或是调整CSS. 很显然HTML 已经达到了一个瓶颈,尽管它是Web开发 界面必备的核心语言 ...
- 1-5 hibernate学习笔记(11-14章)
一,概念详解 1.持久化persistent 是指将内存中的数据保存到磁盘.数据库等存储设备中. 2.持久化对象:已经储存到磁盘或者数据库中的业务对象. 3.在java中对对象的持久化有三种方法: 1 ...
- 【基础】这15种CSS居中的方式,你都用过哪几种?
简言 CSS居中是前端工程师经常要面对的问题,也是基本技能之一.今天有时间把CSS居中的方案汇编整理了一下,目前包括水平居中,垂直居中及水平垂直居中方案共15种.如有漏掉的,还会陆续的补充进来,算做是 ...
- Mycat 安装与启动
环境准备 安装JDK1.8(必须JDK1.7及更高版本) 安装MySQL 服务安装与说明 下载 MyCAT 编译好的安装包,下载地址为 http://dl.mycat.io/1.6-RELEASE/ ...
- 笔记:Spring Cloud Ribbon 客户端负载均衡
Spring Cloud Ribbon 是一个基于 HTTP 和 TCP 的客户端负载均衡工具,基于 Netflix Ribbon 实现,通过Spring Cloud 的封装,可以让我们轻松的将面向服 ...