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

 

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

 

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

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

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);

若是想遇到列表就缩进一次怎么办?code

 

增长一个形参呗;blog

 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)

若是加入一个开启机制,不想加缩进&想加缩进 怎么办;递归

再次加入一个形参控制get

 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)
相关文章
相关标签/搜索