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

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

  

   列表  movies = ["The Holy Grail", 1975, "Terry Jones & Terry Gilliam", 91,

               ["Graham Chapman",

                   ["Michael Palin", "John Cleese", "Terry Gilliam", "Eric Idle", "Terry Jones"]]]

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

  

 print(movies[4][1][3])  
输出结果为:

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

  

 print(movies)

输出结果为:

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

  

   for i in movies:
  print(i) 输出结果为:


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

  

 for i in movies:
if isinstance(i,list):
for j in i:
print(j)
else:
print(i)
输出结果为:

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

  

 for i in movies:
if isinstance(i,list):
for j in i:
if isinstance(j,list):
for k in j:
print(k)
else:
print(j)
else:
print(i)
输出结果为:

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

 首先定义函数:
def print_lol(the_list):
for i in the_list:
if isinstance(i,list):
print_lol(i)
else:
print(i) 然后使用print_lol()来对movies列表进行输出,即print_lol(movies)
输出结果为:

  

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

关于《Head First Python》一书中print_lol()函数的思考的更多相关文章

  1. 关于HashMap中hash()函数的思考

    关于HashMap中hash()函数的思考 JDK7中hash函数的实现   static int hash(int h) { h ^= (h >>> 20) ^ (h >&g ...

  2. python开发_python中的函数定义

    下面是我做的几个用列: #python中的函数定义,使用和传参 def_str = '''\ python中的函数以如下形式声明: def 函数名称([参数1,参数2,参数3......]): 执行语 ...

  3. python 在机器学习中应用函数

    浅述python中argsort()函数的用法 (1).先定义一个array数据 1 import numpy as np 2 x=np.array([1,4,3,-1,6,9]) (2).现在我们可 ...

  4. APUE 书中 toll 函数

    今天看unix环境高级编程时,随着书上的源码打了一遍,编译时提示 toll函数未定义, 找了半天(恕我对上下文不了解).看了英文版和源代码文件才知道, 中文版打印错了: toll => atol ...

  5. python unittest框架中addCleanup函数详解

    接上一篇doCleanups说明,这次介绍下另一个很好用的函数:addCleanup 还是老规矩,看官方文档说明: addCleanup(function, *args, **kwargs)¶ Add ...

  6. python 利用matplotlib中imshow()函数绘图

    matplotlib 是python最著名的2D绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中.通过简单的绘图语 ...

  7. (转)python类class中_init_函数以及参数self的简单解释

    1)_init_函数(方法) #-*- encoding:utf-8 -*- class NewClass(object): def __init__(self,name): print self s ...

  8. python通过mongoengine中connect函数连接多个数据库

    mongoengine支持程序同时连接多个数据库,这些数据库可以位于一个或多个mongo之中,通过alias名称区分不同的连接即可. 可以通过switch_db切换到不同的数据库,进行读写操作,swi ...

  9. python和numpy中sum()函数的异同

    转载:https://blog.csdn.net/amuchena/article/details/89060798和https://www.runoob.com/python/python-func ...

随机推荐

  1. SQL Server 初识游标

    ---恢复内容开始--- 游标:游标是一种能从包含多个数据的结果集每次提取一条的机制 游标的特点是: 检索得到的数据集更加灵活 可有针对性的对数据进行操作 拥有对数据进行删除和更新的能力 为何使用游标 ...

  2. 实现基于tomcat集群会话保持

    1.实验环境 我们需要准备两台虚拟机,把这两台虚拟机组成集群,实现会话保持. 2.配置server1 2.1 修改nginx配置文件 [root@server1 ~]# vim /etc/nginx/ ...

  3. laravel MethodNotAllowedHttpException错误一个原因

    前两天在写api的时候,出现一个之前都没有碰到过的问题,如图 可以说提示信息是很不友好了,然后打开错误日志,发现报了一个MethodNotAllowedHttpException这样的错误,这样错误我 ...

  4. centos6.5 短信猫部署发短信

    本文为在centos下部署短信猫发短信使用,以下为具体环境和步骤说明,欢迎留言! 一.环境说明 服务器:centos6.5 x64 依赖包:lockdev-1.0.1-18.el6.x86_64.rp ...

  5. redis复制原理和应用

    1.前言 说到分布式高可用,必然少不了复制,一来是为了做个冗余备份防止数据丢失,二来还可以达到分流来提高性能的目的.基本架构: 下面用M表示Master(主服务器),S表示Slave(从服务器),话不 ...

  6. 08-图8 How Long Does It Take

    原题: Given the relations of all the activities of a project, you are supposed to find the earliest co ...

  7. 尚未解决的selenium 定位

    自从入职以来,一直在写selenium自动化脚本,可是最近因为一个问题止步不前.可是也不能一直原地踏步呀在这里把问题先记录一下,免得以后忘了. 前景: 做一个表单的提交,点击按钮,执行某函数,若表单中 ...

  8. yii2.0中Rbac 怎么添加超加管理员

    最笨的是定义常量.具体怎么做?看下面: //定义在控制器声明上面define('BEST_PHPER',serialize(array('admin','admin1')));//设置admin管理员 ...

  9. PHP扩展代码结构详解

    PHP扩展代码结构详解: 这个是继:使用ext_skel和phpize构建php5扩展  内容 (拆分出来) Zend_API:深入_PHP_内核:http://cn2.php.net/manual/ ...

  10. 制造测试数据的程序及对拍程序概述(Like CyaRon)

    作为一名OIer,比赛时,对拍是必须的 不对拍,有时可以悔恨终身 首先,对拍的程序 一个是要交的程序 另一个可以是暴力.搜索等,可以比较慢,但是必须正确 下面是C++版对拍程序(C++ & c ...