文档章节

Python 打印嵌套list中每个数据(遍历列表)

92自由
 92自由
发布于 2015/01/20 09:37
字数 372
阅读 28
收藏 1

 

new_list = ["H1","H2",1999]  
  
for each_list in new_list:  
    print (each_list);

 

若列表中包含嵌套列表,怎样处理?

笨方法:判断列表中元素是不是列表;并继续使用for来循环打印, 缺点:多个嵌套列表时会使代码过长过重复 难读

1 new_list = ["H1","H2",1999,["hello","day"]]  
2   
3 for each_list in new_list:  
4     if isinstance(each_list,list):  
5         for new_each in each_list:  
6             print (new_each)  
7     else:  
8         print (each_list);

如果想遇到列表就缩进一次怎么办?

 

增加一个形参呗;

 1 def each_list(list_name,level=0):  
 2     for yuansu in list_name:  
 3         if isinstance(yuansu,list):   #判断当前元素是不是列表  
 4             each_list(yuansu,level+1) #如是,则递归调用,并且标记当前元素是列表  
 5         else:  
 6             for tab in range(level):#固定次数  
 7                 print ("\t",end='')  
 8             print (yuansu)  
 9   
10   
11 new_list = ["H1","H2",1999,["hello","day",["one","two"]]]  
12   
13 each_list(new_list)

如果加入一个开启机制,不想加缩进&想加缩进 怎么办;

再次加入一个形参控制

 1 def each_list(list_name,count=False,level=0):  #加入控制形参 count 默认为不开启缩进  
 2     for yuansu in list_name:  
 3         if isinstance(yuansu,list):   #判断当前元素是不是列表  
 4             each_list(yuansu,count,level+1) #如是,则递归调用,并且标记当前元素是列表  
 5         else:  
 6             if count:  #判断是否开启缩进  
 7                 for tab in range(level):#固定次数  
 8                     print ("\t",end='')  
 9                 print (yuansu)  
10             else:  
11                 print (yuansu)  
12   
13   
14 new_list = ["H1","H2",1999,["hello","day",["one","two"]]]  
15   
16 each_list(new_list)

 

 

© 著作权归作者所有

92自由
粉丝 1
博文 55
码字总数 25852
作品 0
威海
程序员
私信 提问
Python编程入门到实践 - 笔记( 6 章)

第 6 章主要练习了各种字典,以下内容 什么是字典 字典中 键-值 的关系 一个简单的字典 通过字典中的键查找其对应的值 在字典中添加 键-值 修改字典中的值 遍历字典中的键值对 items( ) 遍历...

mlwzby
2018/07/02
0
0
「Python 学习手册」阅读笔记

【注】书籍作者:Mark Lutz (原书第五版) # Python   Python 是一门通用型的编程语言,而它时常扮演着脚本语言的角色。一般来说,它可定义为一门面型对象的脚本语言,是一门融合了面向过程...

果汁凉茶丶
01/24
0
0
零基础学python,看完这篇文章,你的python基础就差不多了!干货【2】

运算符 3.1 算数运算符 是完成基本的算术运算使用的符号,用来处理四则运算,而“+”和“*”还可以用来处理字符串。 3.2 比较(关系)运算符 Python 2.x 中判断 不等于 还可以使用 <> 运算符...

糖宝lsh
2018/11/06
47
0
python 三元表达式 if for 构建List 进阶用法

1.简单的for...[if]...语句 Python中,for...[if]...语句一种简洁的构建List的方法,从for给定的List中选择出满足if条件的元素组成新的List,其中if是可以省略的。下面举几个简单的例子进行说...

听风。
2018/07/18
0
0
Python -二叉树 创建与遍历算法(很详细)

树表示由边连接的节点。它是一个非线性的数据结构。它具有以下特性。 一个节点被标记为根节点。 除根节点之外的每个节点都与一个父节点关联。 每个节点可以有一个arbiatry编号的chid节点。 ...

小锋学长
08/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Android面试常客之Handler全解

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/fnhfire_7030/article/details/79518819 前言:又到了一年...

shzwork
25分钟前
4
0
position sticky 定位

本文转载于:专业的前端网站➫position sticky 定位 1、兼容性 https://caniuse.com/#search=sticky chrome、ios和firefox兼容性良好。 2、使用场景 sticky:粘性。粘性布局。 在屏幕范围内时...

前端老手
31分钟前
4
0
CentOS 7 yum 安装 PHP7.3 教程

参考:https://www.mf8.biz/centos-rhel-install-php7-3/ 1、首先安装 EPEL 源: yum install epel-release 安装 REMI 源: yum install http://rpms.remirepo.net/enterprise/remi-release......

dragon_tech
46分钟前
4
0
Linux物理网卡聚合及桥接

Linux内部实现的bridge可以把一台机器上的多张网卡桥接起来,从而把自己作为一台交换机。同时,LInux bridge还支持虚拟端口,即桥接的不一定都是物理网卡接口,还可以是虚拟接口。目前主要表...

xiangyunyan
47分钟前
4
0
一起来学Java8(一)——函数式编程

在这篇文章中,我们将了解到在Java8下如何进行函数式编程。 函数式编程 所谓的函数式编程就是把函数名字当做值进行传递,然后接收方拿到这个函数名进行调用。 首先来看下JavaScript如何进行函...

猿敲月下码
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部