关于《Head First Python》一书中print_lol()函…

2018-06-18 00:07:47来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

关于《Head First Python》一书中print_lol()函数的思考

 

  在《Head First Python》第一章中,讲述到Python处理复杂数据(以电影数据列表为例),首先将电影数据创建为Python列表,由于Python的变量标识符没有类型,列表中的每一个数据项可以是任何类型的数据,甚至可以是另外一个列表,并且可以无限嵌套。下面开始print()和print_lol()的表演。

  

 

1   列表  movies = ["The Holy Grail", 1975, "Terry Jones & Terry Gilliam", 91,
2 
3               ["Graham Chapman",
4 
5                   ["Michael Palin", "John Cleese", "Terry Gilliam", "Eric Idle", "Terry Jones"]]]

 

step1(使用数据偏移量进行列表内数据的精准查找):

  

1 print(movies[4][1][3])  

输出结果为:

 

step2(使用一层print()对整个列表进行输出):

  

1 print(movies)

输出结果为:

 

 

step3(使用print()加上一层for循环对整个列表进行输出):

  

1   for i in movies: 
2       print(i)

输出结果为:


 

step4(使用print()加上两层for循环加上一个if else对整个列表进行输出):

  

1 for i in movies:
2     if isinstance(i,list):
3         for j in i:
4             print(j)
5     else:
6         print(i)

输出结果为:

 

step5(使用print()加上三层for循环加上两个if else对整个列表进行输出):

  

 1 for i in movies:
 2     if isinstance(i,list):
 3         for j in i:
 4             if isinstance(j,list):
 5                 for k in j:
 6                     print(k)
 7             else:
 8                 print(j)
 9     else:
10         print(i)

输出结果为:

 

step6(多层嵌套实在是太麻烦了,试试构造函数然后递归,祭出今天的重场戏print_lol()):

 1 首先定义函数:
 2 def print_lol(the_list):
 3     for i in the_list:
 4         if isinstance(i,list):
 5             print_lol(i)
 6         else:
 7             print(i)
 8 
 9 然后使用print_lol()来对movies列表进行输出,即print_lol(movies)
10 输出结果为:

   

  今天加班太晚了,有点累了,那么就将关于print_lol()函数不断趋于完善的过程的思考放在明天的博客中,要努力奋斗,同时晚安好梦。

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:使用selenium抓取淘宝的商品信息

下一篇:python爬虫--下载煎蛋网妹子图到本地