defBinarySearch(alist,item):'''简单二分查找:paramalist::paramitem::return:'''first=0last=len(alist)-1found=Falsewhilefirst<=lastandnotfound:midpoint=(first+last)//2ifalist[midpoint]==item:found=Trueelse:ifitem
系统 2019-09-27 17:57:26 2099
然后给脚本文件运行权限,方法(1)chmod+x./*.py方法(2)chmod755./*.py(777也无所谓啦)这个命令不去调整,会出现permissiondenied的错误终端直接执行。如果在脚本内容的开头已经给出了类似于如下的注释:#!/usr/bin/envpython(或者是#!/usr/bin/python)那就可以直接在终端里运行:./*.py如果没有这个注释就在终端中执行:python./*.py(注意:有些linux版本上运行即使上面
系统 2019-09-27 17:56:48 2099
一、概论C4.5主要是在ID3的基础上改进,ID3选择(属性)树节点是选择信息增益值最大的属性作为节点。而C4.5引入了新概念“信息增益率”,C4.5是选择信息增益率最大的属性作为树节点。二、信息增益以上公式是求信息增益率(ID3的知识点)三、信息增益率信息增益率是在求出信息增益值在除以。例如下面公式为求属性为“outlook”的值:四、C4.5的完整代码fromnumpyimport*fromscipyimport*frommathimportlogim
系统 2019-09-27 17:54:47 2099
subprocess意在替代其他几个老的模块或者函数,比如:os.systemos.spawn*os.popen*popen2.*commands.*subprocess最简单的用法就是调用shell命令了,另外也可以调用程序,并且可以通过stdout,stdin和stderr进行交互。subprocess的主类复制代码代码如下:subprocess.Popen(args,bufsize=0,executable=None,stdin=None,stdou
系统 2019-09-27 17:54:43 2099
【磐创AI导读】从本周开始,磐创AI将联合七月在线推出AI算法工程师系列进阶课程,课程内容将涵盖Python、机器学习、深度学习、自然语言处理、图像识别等多个方向,手把手带着大家进阶AI算法工程师。本周将推出系列课程的第一阶段《Python基础入门第三期》以及四篇干货Python课程笔记。另针对磐创AI的粉丝,我们将提供10个免费学习的名额,具体参与方式可见文末“粉丝福利”。1.课程介绍该课程是在《Python基础升级版》的基础上,定位为有意向从事数据科学
系统 2019-09-27 17:54:29 2099
listlist是一种有序的集合,可以随时添加和删除其中的元素。跟java不一样的是可以使用arr[-1]0>-x>=-len(arr)索引的数字为0~len(arr)-1-len(arr)~-1超过会报错classmates=['A','B','C','D','E']print(classmates)print(len(classmates))foriinclassmates:print(i)'''['A','B','C','D','E']5ABCDE'
系统 2019-09-27 17:53:41 2099
PythonSMTP发送邮件SMTP(SimpleMailTransferProtocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。Python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。Python创建SMTP对象语法如下:importsmtplibsmtpObj=smtplib.SMTP([host[,port[,local_hostname]]])参数说明:
系统 2019-09-27 17:52:12 2099
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 2099
python读写Excel最近小编在处理各种.xlsx表格的数据处理和计算的工作,目前python用于操作表格的模块有很多,功能各有千秋。本文主要讲的是xlwt用于写,xlrt用于读。表格写入简单的写入功能可用xlwt模块,写入功能的难点在于写入合并的单元格。单元格的下标都是从0开始。xlwt官方API:https://xlwt.readthedocs.io/e...安装:pipinstallxlwt新建workbook:wk=xlwt.Workbook(
系统 2019-09-27 17:50:14 2099
排列defperm(arr,stack):ifnotarr:print(stack)#到树的最后,输出结果tmp=stack.copy()res.append(tmp)else:#没有到树的叶子节点的时候,使用递归继续往下找。foriinrange(len(arr)):stack.append(arr[i])delarr[i]perm(arr,stack)arr.insert(i,stack.pop())arr=[1,2,3]stack=[]res=[]p
系统 2019-09-27 17:50:13 2099
这是一个我用于调试或分析工具概述,不一定是完整全面,如果你知道更好的工具,请在评论处标记。日志是的,的确,不得不强调足够的日志记录对应用程序是多么的重要。您应该记录重要的东西,如果你的记录足够好的话,你可以从日志中找出问题从而节省大量的时间。如果你曾经用print语句来调试代码现在停下吧,用logging.debug替代,开始可以慢慢来,以后完全禁用它...追踪有时看到程序如何被执行会很有帮助。你可以使用IDE的调试共轭ngn一步一步的运行程序,但你需要知
系统 2019-09-27 17:49:14 2099
findall函数:在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。注意:match和search是匹配一次findall匹配所有,match和search的区别也很大,可以自行网上查找!这里主要需要讨论的是其返回值的展现方式,即findall函数根据正则表达式的不同所返回的结果包含的不同信息!主要包含三种情况:1.当给出的正则表达式中带有多个括号时,列表的元素为多个字符串组成的tuple,tuple中字符串个数
系统 2019-09-27 17:47:25 2099
isdecimal()方法检查字符串是否仅由十进制字符组成。此方法只存在于unicode对象。注意:要定义一个字符串为Unicode,只需前缀分配'u'左引号。以下是示例。语法以下是isdecimal()方法的语法:str.isdecimal()参数NA返回值如果字符串中的所有字符为十进制此方法返回true,否则返回false。例子下面的例子显示了isdecimal()方法的使用。#!/usr/bin/pythonstr=u"this2009";print
系统 2019-09-27 17:47:04 2099
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 2099
在工作中遇到一个需求,需要用Python脚本读取一个13G的文件,把每行的记录写入redis。由于机器的内存只有8G,所以不能一次将磁盘上的文件全部读入内存,需要一行一行读取文件。Python按行读取文件主要是使用file.readline方法或者利用file对象的迭代器性质,而file.readlines方法则是一次把所有内容从磁盘读入内存。当内存足够时,file.readlines方法显然会更快,因为磁盘I/O次数更少。下面给出了三种遍历文件每行的方式
系统 2019-09-27 17:56:36 2098