zoukankan      html  css  js  c++  java
  • 关于《Head First Python》一书中print_lol()函数的思考

    关于《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()函数不断趋于完善的过程的思考放在明天的博客中,要努力奋斗,同时晚安好梦。

  • 相关阅读:
    设计模式-1-概要(c#版)
    UML图示说明
    阿里云SLB双机IIS多站点负载均衡部署笔记
    阿里云分布式关系数据库DRDS笔记
    一些小经验
    NOSQL场景梳理
    内核linux-3.4.2支持dm9000
    构建根文件系统
    u-boot-1.1.6移植之dm9000
    移植u-boot-1.1.6(原创)
  • 原文地址:https://www.cnblogs.com/wang-junxi/p/8138338.html
Copyright © 2011-2022 走看看