文档章节

head first python_1 递归函数来处理列表

MrYx3en
 MrYx3en
发布于 2014/07/27 11:04
字数 308
阅读 129
收藏 1
#print_lol.py
#python 3默认递归深度不超过100
#创建print_lol可重用的代码块,在函数代码组内调用自身


>>>m=[1,2,[3,4,[5,6]]]

>>>def print_lol(list):
        for item in list:
            if isinstance(item,list):
                print_lol(item);
            else:
                print(item)
            
>>>print_lol(m)
1
2
3
4
5
6

标识符是指示数据对象的名字。标识符没有“类型”,不过标识符所指示的数据对象有类型。

列表(“打了激素的数组”)是一个数据集合,数据项之间用逗号分隔,整个列表使用中括号“[ ]”包围。

列表可以存放任意数据,而且数据还是混合类型,列表之中还可以嵌套其他列表。

for循环允许迭代处理一个列表:

>>> for item in list:
        print(item)

使用 def 来定义一个制定函数

isinstance( ) 会检查一个标识符是否指示某个指定类型的数据对象。例如: isinstance(item,list)    检查 item 是不是 list(列表)



让嵌套列表支持缩进

>>> def print_lol(the_list,level=0):
	for item in the_list:
		if isinstance(item,list):
			print_lol(item,level+1)
		else:
			for tab_stop in range(level):
				print('\t',end='')
			print(item)

			
>>> print_lol(m)
1
2
    3
    4
        5
        6













© 著作权归作者所有

共有 人打赏支持
MrYx3en
粉丝 9
博文 132
码字总数 30598
作品 0
宝鸡
系统管理员
Python基础班每日整理(四)

02Python基础day06 字符串的定义 字符串就是一串字符,用一对儿单引号或者双引号括起来 字符串切片 切片就是使用索引值,从一个大的字符串中切出小的字符串,适用于字符串、元组、列表。基本...

我是小谷粒
07/02
0
0
python语法小细节及小定义(一)

首先,Python是强类型语言,动态类型语言。 那么什么是强类型语言?就是数据类型非常固定的语言,例如说python中的str类型数据和int类型数据不能互相作用。而c和js就是弱类型语言。 动态类型...

戴千岩
2017/09/26
0
0
人人都能学会的python编程教程(基础篇)完整版

人人都能学会的python编程教程1:第一行代码 人人都能学会的python编程教程2:数据类型和变量 人人都能学会的python编程教程3:字符串和编码 人人都能学会的python编程教程4:关系运算符与循...

编程老司机
05/10
0
0
使用python实现内置map,filter,reduce,zip函数

map函数(稠密紧凑的代码,特别是最后一句理解不了建议可以debug单步。) # -- coding: cp936 --def myselfmap(f,*args): def urgymap(f,args): if args==[]: return [] else: return [f(arg...

firebroo
2014/08/04
0
0
人人都能学会的python编程教程13:递归函数

话说美食街上有个煎包店,1块钱2个,2块钱3个,3块钱5个,5块钱8个。人们笑称之为斐波拉切煎包。 在数学上,斐波纳契数列被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n...

编程老司机
05/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

RabbitMQ在CentOS环境安装

1.废话不多说准备一台虚拟机,系统为centos,我这里使用的系统版本如下图所示:

凌晨一点
52分钟前
0
0
线程池相关

在java.util.concurrent包下,提供了一系列与线程池相关的类。 使用线程池的好处 降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗; 提高响应速度。当任务到达时,任务...

edwardGe
54分钟前
0
0
学习大数据这三个关键技术是一定要掌握!

大数据时代全面来临,大数据、人工智能等技术引领科技创新潮流,获得国家政策大力支持,前景广阔。学习大数据技术的人自然是络绎不绝, 学习大数据虽然是一个趋势,但也要注意大数据培训课程...

董黎明
今天
0
0
jetbrains 上传代码到github

设置中找github 获取token 验证是否成功 测试git 生成key,一路回车即可 ssh-keygen -t rsa -C “youremail@example.com” 打开pub复制key,需要再次输入一次密码 验证是否成功,输入yes即可...

阿豪boy
今天
0
0
分布式服务框架(拾遗)

前言 现在的大部分工程都已经是基于分布式架构来处理。所以这里对分布式框架做一个简单的总结 常用的RPC框架 RPC框架原理 RPC(Remote Procedure Call,远程过程调用)一般用来实现部署在不同...

kukudeku
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部