剑指offer:从上到下打印二叉树题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。结果:[8,6,10,5,7,9,11]解题思路典型的使用队列的题目。每从队列头部获取一个节点,就将该节点的左右子节点存入队列的尾部。如此往复,直至队列为空。代码#coding:utf-8classSolution:#从上往下打印出二叉树的每个节点,同层节点从左至右打印defPrintFromTopToBottom(self,root):array=[]resu
系统 2019-09-27 17:49:17 1814
python基础学习笔记(三)2013-04-1800:22虫师阅读(...)评论(...)编辑收藏序列概览Python包含6种内建的序列,这里重点讨论最常用的两种类型:列表和元组。列表与元组的主要区别在于,列表可以修改,元组则不能。也就是说如果要根据要求来添加元素,那么列表可以会更好用;而出于某些原因,序列不能修改的时候,使用元组则更为合适。在操作一组数值的时候,序列很好用。可以用序列表示数据库中一个人的信息---第一1是姓名,第2个元素是年龄。根据上述
系统 2019-09-27 17:48:57 1814
下面看下python2.x和python3.x的区别1.大环境不同python2.x:源码重复,不规范python3.x:整合源码,更清晰优美简单2.默认编码不同python2.x:默认编码ASCII编码python3.x:默认编码UTF-83.python3.x没有长整型python2.x:有长整型longpython3.x:long整数类型被废弃,统一为int4.打印方式不同python2.x:print语句,print空格+打印内容python3.x
系统 2019-09-27 17:48:49 1814
缘起:[root@CentOS7code]#pythonmulti_thread_mfw.pyFile"multi_thread_mfw.py",line138SyntaxError:Non-ASCIIcharacter'\xe5'infilemulti_thread_mfw.pyonline138,butnoencodingdeclared;seehttp://www.python.org/peps/pep-0263.htmlfordetails写完py
系统 2019-09-27 17:48:24 1814
目录:1.数据分析模块2.数据文件导入3.图形绘制4.读取数据并可视化分析1.数据分析模块importnumpyasnn#一维数组numpy.array([元素1,元素2....,元素n])x=nn.array(['2','3','d','g'])#print(x)#创建二维数组格式numpy.array([[元素1],[元素2]....,[元素n]])y=nn.array([[2,3,4],[4,3,4,],[34,4,2,]])#print(y)#排序
系统 2019-09-27 17:48:18 1814
先从搭建环境开始。作为一个Python初学者来说,一个趁手的编译器是很重要的,本想用VS来开发Python,但是感觉实际开发中没有几家公司会用VS来开发Python,没办法就换成了MyEclipse。一、首先下载和安装Myeclipse就略过了。二、安装Python。一般的开发环境是在linux,网上很多教程和视频也都是在linux下配置和开发的。我的开发环境是64位win8系统,先从官网下载64位的Python安装程序。可以从这里选择要下载的版本http
系统 2019-09-27 17:48:04 1814
Ruby和Python太相似了,取舍大部分都是个人喜好上的原因。比如我就觉得Python的“Thereisonlyonewaytodoit.”比Ruby的“Therearemanywaystodoit.”要好,这不光是考虑团队协作的问题,更重要的是自己能很快明白自己三个月前写的没有任何注释的代码是在干什么。当然也有很多人觉得自由和灵活要比可读性来的重要,所以我说这个是个人喜好的原因。客观上的Ruby比Python的优势我想到的有这么几个:Block应该是语
系统 2019-09-27 17:48:04 1814
1.首先定义一个log文件#-*-coding:utf-8-*-importosimporttimeimportloggingimportsyslog_dir1=os.path.join(os.path.dirname(os.path.dirname(__file__)),"logs")today=time.strftime('%Y%m%d',time.localtime(time.time()))full_path=os.path.join(log_di
系统 2019-09-27 17:47:58 1814
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言,本文就举一例Python类继承的实例。实例代码如下:#!/usr/bin/python#Filename:inherit.py#Author:yanggangclassSchoolMember:def__init__(self,name,age):self.name=nameself.age=ageprint'initSchoolMember:',self.namedeftell(self
系统 2019-09-27 17:47:55 1814
python发邮件需要掌握两个模块的用法,smtplib和email,这俩模块是python自带的,只需import即可使用。smtplib模块主要负责发送邮件,email模块主要负责构造邮件。smtplib模块主要负责发送邮件:是一个发送邮件的动作,连接邮箱服务器,登录邮箱,发送邮件(有发件人,收信人,邮件内容)。email模块主要负责构造邮件:指的是邮箱页面显示的一些构造,如发件人,收件人,主题,正文,附件等。1.smtplib模块smtplib使用较
系统 2019-09-27 17:46:47 1814
正则表达式是Python程序设计中非常实用的功能,本文就常用的正则表达式做一汇总,供大家参考之用。具体如下:一、字符串替换1.替换所有匹配的子串用newstring替换subject中所有与正则表达式regex匹配的子串result,number=re.subn(regex,newstring,subject)2.替换所有匹配的子串(使用正则表达式对象)reobj=re.compile(regex)result,number=reobj.subn(news
系统 2019-09-27 17:46:38 1814
sys模块提供了许多函数和变量来处理Python运行时环境的不同部分.处理命令行参数在解释器启动后,argv列表包含了传递给脚本的所有参数,列表的第一个元素为脚本自身的名称.使用sys模块获得脚本的参数复制代码代码如下:print"scriptnameis",sys.argv[0]#使用sys.argv[0]采集脚本名称iflen(sys.argv)>1:print"thereare",len(sys.argv)-1,"arguments:"#使用len(
系统 2019-09-27 17:46:35 1814
在Python中,语法错误可以被Python解释器发现,但逻辑上错误或变量使用错误却不容易发现,如果结果没有符合预期,则需要调试,一个很好的调试工具:Python自带的pdb模块。pdb是Python自带的调试模块。使用pdb模块可以为脚本设置断点、单步执行、查看变量值等。pdb可以用命令行参数的方式启动,也可以使用import将其导入后再使用。复制代码代码如下:>>>dir(pdb)['Pdb','Repr','Restart','TESTCMD',..
系统 2019-09-27 17:46:04 1814
【方法一】:通过setuptools来安装python模块首先下载http://peak.telecommunity.com/dist/ez_setup.pyNOTE:最好下载个setuptools,本人是15.2版本,里面包含了ez_setup运行pythonez_setup.pyD:\work\installation\setuptools-15.2\setuptools-15.2>pythonez_setup.py>1.txtExtractingin
系统 2019-09-27 17:45:35 1814
本文以实例形式较为详细的讲解了Python的多线程,是Python程序设计中非常重要的知识点。分享给大家供大家参考之用。具体方法如下:用过Python的人都会觉得Python的多线程很类似于Java的多线程机制,但是比JAVA的多线程更灵活。在早期的Python多线程实现中,采用了thread模块。例如:fromtimeimportctime,sleepfromthreadimportstart_new_threaddefloop1():print"ent
系统 2019-09-27 17:38:23 1814