一、首先二叉树的定义:classTreeNode:def__init__(self,x):self.val=xself.left=Noneself.right=None构建一棵二叉树:classNode(object):def__init__(self,val):self.val=valself.lchild=Noneself.rchild=NoneclassTree(object):def__init__(self):self.root=Noneself
系统 2019-09-27 17:52:24 2130
整个排序算法分两部分来总结,这篇总结第一部分一些相对简单和常用的排序算法,包括冒泡排序、选择排序、插入排序和希尔排序。冒泡排序冒泡排序应该是大家接触的最早的排序方法了,理解起来也十分简单。冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。算法描述比较相邻的
系统 2019-09-27 17:52:14 2130
zip文件是我们经常使用的打包格式之一,python解压和压缩zip效率非凡。python解压zip文档:复制代码代码如下:#/usr/bin/python#coding=utf-8importos,sys,timeimportzipfilefilename='callofdutyblackopszombies_1349649132343_my.zip'#要解压的文件filedir='data/'#解压后放入的目录r=zipfile.is_zipfile(
系统 2019-09-27 17:52:13 2130
ndarray.ndim:维度ndarray.shape:形状ndarray.size:元素个数ndarray.dtype:元素数据类型ndarray.itemsize:字节大小创建数组:a=np.array([2,23,4])#list1dprint(a)#[2234]指定数据类型:a=np.array([2,23,4],dtype=np.int)print(a.dtype)#int64dtype可以指定的类型有int32,float,float32,后
系统 2019-09-27 17:50:47 2130
在嵌入式、尤其是机器人的python编程中,经常需要实时检测用户的键盘输入来随时控制机器人,这段代码可以帮助我们提取用户输入的字符,并在按下键盘的时候作出反应。importsysimportttyimporttermiosdefreadchar():fd=sys.stdin.fileno()old_settings=termios.tcgetattr(fd)try:tty.setraw(sys.stdin.fileno())ch=sys.stdin.rea
系统 2019-09-27 17:50:35 2130
代码示例支持平台:Centos6.3Python:2.7.14代码示例:菜单-Python踩坑指南代码示例1.1踩坑案例长期运行的daemon进程或者socket测试类进程,经常遇到的坑是:IOError:[Errno24]Toomanyopenfiles即进程遇到IO错误,无法打开更多的文件.1.2填坑和分析一般从两个方面入手:1.2.1从程序优化入手检查文件打开是否遵循了"谁打开谁关闭"原则文件是否存在关闭泄露a.谁打开谁关闭是个普适的原则:只有逻辑设
系统 2019-09-27 17:49:40 2130
returndeff1(x):y=2**x#没有returndeff2(x):y=2**xreturny#含有returnprint(f1(2),f2(2))return语句退出函数,并返回一个表达式。不带参数值的return语句返回None2.可变参数通过*来定义可变参数默认会把可变参数传入一个元祖!deff(*x):print(x)returnxf(1)f('a','b')f(1,2,3,[44,33])print(type(f('a','b')))定
系统 2019-09-27 17:49:40 2130
基本使用#设置cookie值@app.route('/set_cookie')defset_cookie():response=make_response("set_cookie")response.set_cookie("name","zhangsan")response.set_cookie("age","13",10)#10秒有效期returnresponse#获取cookie@app.route('/get_cookie')defget_cooki
系统 2019-09-27 17:49:19 2130
findall函数:在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。注意:match和search是匹配一次findall匹配所有,match和search的区别也很大,可以自行网上查找!这里主要需要讨论的是其返回值的展现方式,即findall函数根据正则表达式的不同所返回的结果包含的不同信息!主要包含三种情况:1.当给出的正则表达式中带有多个括号时,列表的元素为多个字符串组成的tuple,tuple中字符串个数
系统 2019-09-27 17:47:25 2130
virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能够:1.在没有权限的情况下安装新套件2.不同应用可以使用不同的套件版本3.套件升级不影响其他应用安装复制代码代码如下:sudoapt-getinstallpython-virtualenv使用方法[code]virtualenv[虚拟环境名称]如,创建**ENV**的虚拟环境复制代码代码如下:virtualenvENV默认情况下,虚拟环境会依赖系统环境中的sitep
系统 2019-09-27 17:47:21 2130
fromemail.mime.textimportMIMETextfromsmtplibimportSMTP_SSLdefmain():sender='sender@yandex.com'receiver=['receiver@163.com']message=MIMEText('SendanemailviaPython3')message['From']=sendermessage['To']=','.join(receiver)message['Sub
系统 2019-09-27 17:46:54 2130
S=Sum(Ai*Wi),i=0,.......16(现在的身份证号码都是18位长,其中最后一位是校验位,15位的身份证号码好像不用了)Ai对应身份证号码,Wi则为用于加权计算的值,它一串固定的数值,应该是根据某种规则得出的吧,用于取得最好的随机性,Wi的取之如下:7910584216379105842经过加权计算之后,得到一个S,用这个S去模11,取余值,然后查表得到校验位,这个索引表如下:0-----11-----02-----x3-----94---
系统 2019-09-27 17:46:48 2130
最近在用djangorestframe框架做一个商城项目,有一个关于购物车的业务逻辑,是用cookie和redis存储的购物车信息,在这里记录一下。完成一个商城项目,如果不做一个购物车,就是十分可惜的。我们先来分析一下业务逻辑,参照,京东、淘宝等大型电商网站,可以发现,对于登录用户以及未登录用户,都是可以使用购物车功能。所以首先我们将这两种情况区分开来,采用不同的存储方式。先来看一下已登录用户,购物车其实类似我们在游览网页时的收藏功能,用于收藏用户喜欢的一
系统 2019-09-27 17:46:41 2130
1.从字典创建Dataframe>>>importpandasaspd>>>dict1={'col1':[1,2,5,7],'col2':['a','b','c','d']}>>>df=pd.DataFrame(dict1)>>>dfcol1col201a12b25c37d2.从列表创建Dataframe(先把列表转化为字典,再把字典转化为DataFrame)>>>lista=[1,2,5,7]>>>listb=['a','b','c','d']>>>df
系统 2019-09-27 17:46:20 2130
os:操作系统(operatingsystem)os模块中关于文件/目录常用的函数使用方法函数名使用方法getcwd()返回当前工作目录chdir(path)改变工作目录listdir(path=’.’)举指定目录中的文件名(’.‘表示当前目录,’…'表示上一级目录)mkdir(path)创建单层目录,如该目录已存在抛出异常makedirs(path)递归创建多层目录,如该目录已存在抛出异常,注意:'E:\a\b’和’E:\a\c’并不会冲突remove(
系统 2019-09-27 17:46:01 2130