您的位置:首页 > 编程语言 > Python开发

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

2014-10-17 14:29 579 查看
new_list = ["H1","H2",1999]

for each_list in new_list:
print (each_list);


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

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

new_list = ["H1","H2",1999,["hello","day"]]

for each_list in new_list:
if isinstance(each_list,list):
for new_each in each_list:
print (new_each)
else:
print (each_list);


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

增加一个形参呗;

def each_list(list_name,level=0):
for yuansu in list_name:
if isinstance(yuansu,list):   #判断当前元素是不是列表
each_list(yuansu,level+1) #如是,则递归调用,并且标记当前元素是列表
else:
for tab in range(level):#固定次数
print ("\t",end='')
print (yuansu)

new_list = ["H1","H2",1999,["hello","day",["one","two"]]]

each_list(new_list)


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

再次加入一个形参控制

def each_list(list_name,count=False,level=0):  #加入控制形参 count 默认为不开启缩进
for yuansu in list_name:
if isinstance(yuansu,list):   #判断当前元素是不是列表
each_list(yuansu,count,level+1) #如是,则递归调用,并且标记当前元素是列表
else:
if count:  #判断是否开启缩进
for tab in range(level):#固定次数
print ("\t",end='')
print (yuansu)
else:
print (yuansu)

new_list = ["H1","H2",1999,["hello","day",["one","two"]]]

each_list(new_list)


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: