在上一课python学习(二):列表嵌套中我们使用了三层嵌套,如果想再增加一层也是可以的,再加个for循环,if判断就行。但是,整个代码会显得臃肿,我们可以发现这些代码具有高度相似性,所以我们可以尝试创建一个函数来代替一些重复劳动。
1. 创建新函数
格式: def <函数名> (参数): #记得加:号,参数可选
<函数代码组> #函数代码组需要在def语句下面缩进
>>> movies=["红海行动",2018,"林超贤",138,["张译","海清",["张","黄","杜","蒋"]]]
>>> def print_loop (the_list):
for each_item in the_list:
if isinstance(each_item,list):
print_loop(each_item)
else:
print(each_item)
>>> print_loop(movies)
红海行动
2018
林超贤
138
张译
海清
张
黄
杜
蒋
>>>
这个函数其实就是一个递归函数,通过不断调用自身来揭开层层嵌套。
Python3默认递归深度不超过100,100的递归深度在许多场合都是够用的,当然如果有需要也可以改变这个递归上限。