python小技巧01递归解释内嵌

现假设有一份机器人配件名单  list[头部,躯干,肢体]

头部这个list又有鼻子眼睛嘴巴这些小零件

肢体这个list有胳膊,肩膀,手。手这个list又有3种手指

所以这个list详细写出是:

    list=[[1,2,3,4],5,[6,7,[8,9,10]]]  #我们type(list)一下完全是list

我们需要解释了这个list,毕竟这样不符合审美,而且对于编程不熟悉的人也不会看啊。

我们是否要写好多for循环print这ist的一个个项?

for each_item in list

  if isinstance(each_item,list):

    for eacha_item in each_item:

      if isinstance(eacha_item,list):

        for eachaa_item in eacha_item:

          if isinstance(eachaa_item,list):

            for eachaaa_item in eachaa_item:

              print(eachaaa_item)

          else:

              print(eachaa_item)

      else:

         print(eacha_item)

  else:

    print(each_item)

#当你打完这些你一定会mmp的,容易打错就不说了,大量重复代码!

def print_99(list):

  for each_item in list:

    if isinstance(each_item,list):

      print_99(each_item)

    else:

      print(each_item)

事情就这么愉快的解决了,这个编程思想,感悟好多,似乎有些明白面向对象的编程了。自己一个人整整想了一个小时,似乎这就是道可道,非常道

时间: 2024-10-12 08:40:22

python小技巧01递归解释内嵌的相关文章

python 小技巧

英文出处:sahandsaba.欢迎加入翻译组. 从我开始学习python的时候,我就开始自己总结一个python小技巧的集合.后来当我什么时候在Stack Overflow或者在某个开源软件里看到一段很酷代码的时候,我就很惊讶:原来还能这么做!,当时我会努力的自己尝试一下这段代码,直到我懂了它的整体思路以后,我就把这段代码加到我的集合里.这篇博客其实就是这个集合整理后一部分的公开亮相.如果你已经是个python大牛,那么基本上你应该知道这里面的大多数用法了,但我想你应该也能发现一些你不知道的新

Python小技巧整理

一.python小工具: 1.内置下载和网站: 进入相应目录:2.x python -m SimpleHTTPServer 3.x python -m http.server 2.字符串转换为JSON [[email protected] ~]# echo '{"job":"developer","name":"1mx","sex":"male"}' | python -m json.t

Python补充02 Python小技巧

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在这里列举一些我使用Python时积累的小技巧.这些技巧是我在使用Python过程中经常使用的.之前很零碎的记在笔记本中,现在整理出来,和大家分享,也作为Python快速教程的一个补充. import模块 在Python经常使用import声明,以使用其他模块(也就是其它.py文件)中定义的对象. 1) 使用__name__ 当我们编写Python库模块的时候,我们往往运行一些测

3.python小技巧分享-使用min和max函数去找字典中的最大值和最小值

睡前分享一个小技巧- 使用min和max函数来巧妙的查找一个字典中的最大value和最小value. 比如说,现在有一个字典,字典的key是用户名,value则是这个用户的账户有多少钱. 现在想要找出账户内余额最多的用户,请问如何实现? d1 = {'suhaozhi':12345,'tony':4513,'eric':135,'jolin':13000000} 很简单,只要使用zip函数结合max函数就可以做到了. print max(zip(d1.values(),d1.keys())) #

能够让你提升的九个 Python 小技巧

一.列表推导式 你有一个list: bag = [1, 2, 3, 4, 5] 现在你想让所有元素翻倍,让它看起来是这个样子: [2, 4, 6, 8, 10] 大多初学者,根据之前语言的经验会大概这样来做. bag = [1, 2, 3, 4, 5] for i in range(len(bag)): bag[i] = bag[i] * 2但是有更好的方法: bag = [elem * 2 for elem in bag]很简洁对不对?这叫做Python的列表推导式 . 二.遍历列表 还是上面

python基础-函数_递归_内置函数

一 数学定义的函数与python中的函数 二 为何使用函数 背景提要 三 函数和过程 四 函数参数 五 局部变量与全局变量 六 前向引用之'函数即变量' 七 嵌套函数 八 递归 九 匿名函数 十 函数式编程 十一 内置函数 十二 本节作业 一.数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因变量,y是x的函数.自变量x的取值范围叫做这个函数的定义域

Python基础函数、递归、内置函数

一.数学定义中的函数与Python中的函数 初中数学定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定值,y都有唯一确定的值与之对应,那么我们就把x称为自变量,把y称为因变量,与是x的函数.自变量x的取值范围叫做这个函数的定义域. 例如:y=2*x python中函数的定义:函数是逻辑结构化和过程化的一种编程方法. # Python中函数定义方法 def test(x): "the function definitions" x+=1 return x def

Python 快速教程(补充篇02): Python小技巧

import模块 在Python经常使用import声明,以使用其他模块(也就是其它.py文件)中定义的对象. 1) 使用__name__ 当我们编写Python库模块的时候,我们往往运行一些测试语句.当这个程序作为库被import的时候,我们并不需要运行这些测试语句.一种解决方法是在import之前,将模块中的测试语句注释掉.Python有一种更优美的解决方法,就是使用__name__. 下面是一个简单的库程序TestLib.py.当直接运行TestLib.py时,__name__为”__ma

能够让你装逼的10个Python小技巧

列表推导式 你有一个list: bag = [1, 2, 3, 4, 5] 现在你想让所有元素翻倍,让它看起来是这个样子: [2, 4, 6, 8, 10] 大多初学者,根据之前语言的经验会大概这样来做 bag = [1, 2, 3, 4, 5] for i in range(len(bag)): bag[i] = bag[i] * 2 但是有更好的方法: bag = [elem * 2 for elem in bag] 很简洁对不对?这叫做Python的列表推导式 . 遍历列表 还是上面的列表