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 2053
手写代码实现基于信息熵划分的决策树算法文章目录手写代码实现基于信息熵划分的决策树算法1.简介2.算法实现思路3.代码如下参考1.简介阅读本文需要以下背景知识:-掌握周志华《西瓜书》第四章决策树原理-Python3.0基础语法及数据类型及操作不了解决策树请点击下面链接西瓜书第四章决策树学习笔记本文是基于信息熵准则进行划分选择的决策树算法的手写实现,不使用现有的机器学习包。算法流程见《西瓜书》第四章第一节。数据集使用西瓜数据集3.0(数据集在代码中不需要另外下
系统 2019-09-27 17:53:01 2053
前言eval是Python的一个内置函数,这个函数的作用是,返回传入字符串的表达式的结果。想象一下变量赋值时,将等号右边的表达式写成字符串的格式,将这个字符串作为eval的参数,eval的返回值就是这个表达式的结果。python中eval函数的用法十分的灵活,但也十分危险,安全性是其最大的缺点。本文从灵活性和危险性两方面介绍eval。1、强大之处举几个例子感受一下,字符串与list、tuple、dict的转化。a="[[1,2],[3,4],[5,6],[
系统 2019-09-27 17:50:17 2053
面向对象---谁来做?相比函数,面向对象是一个更大的封装,根据职责在一个对象中封装多个方法。在完成某个需求前,首先确定职责--要做的事情(方法)根据职责确定不同的对象,在对象内部封装不同的方法最后完成代码,就是顺序的让不同的对象调用不同的方法。特点:注重对象和职责,不同的对象承担不同的职责。更加适合应对对复杂需求的变化,是专门应对复杂项目开发,提供的固定套路。面向对象的两个核心概念:类和对象类的定义:是对一群具有相同特征(属性)或者行为(方法)的事物的一个
系统 2019-09-27 17:50:07 2053
蒙特卡罗方法是一种统计模拟方法,由冯・诺依曼和乌拉姆提出,在大量的随机数下,根据概率估计结果,随机数据越多,获得的结果越精确。下面我们将用python实现蒙特卡罗方法。1.首先我们做一个简单的圆周率的近似计算,在这个过程中我们要用到随机数,因此需要先使用importnumpyasnp导入numpy库。2.代码实现:importnumpyasnptotal=8000000count=0foriinrange(total):x=np.random.rand()
系统 2019-09-27 17:50:01 2053
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字-它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。Python有6个序列的内置类型,但最常见的是列表和元组。序列都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型创建一个列表,只要把逗号分隔的不同的数
系统 2019-09-27 17:49:54 2053
背景:最近写的Python代码不知为何,总是执行到一半卡住不动,为了使程序能够继续运行,设置了函数调用超时机制。代码:importtimeimportsignaldeftest(i):time.sleep(i%4)print"%dwithintime"%(i)returniif__name__=='__main__':defhandler(signum,frame):raiseAssertionErrorforiinrange(1,10):try:sign
系统 2019-09-27 17:48:29 2053
先看下面这段代码:importosdefmain():foriinrange(0,2):os.fork()print'Hello'if__name__=='__main__':main()猜测一下,会输出几行Hello。答案是:HelloHelloHelloHelloHelloHello6行!为什么呢?首先,你要明白os.fork()创建的子进程会接着下一行代码继续执行,它有返回值,返回值可以为0表示子进程或者大于0表示父进程pid,os.getpid()
系统 2019-09-27 17:48:15 2053
目录Mixin类Mixin类的实例运行流程流程图《PythonGUIProgrammingwithTkinter》作者的话Mixin类Mixin类只包含了一组特定的函数集合,而我们将会将其与其他类进行混合,从而生成一个适用于实际需要的新类Mixin类的实例代码改编自《PythonGUIProgrammingwithTkinter》classDisplayer():defdisplay(self,message):print('2:display:Displ
系统 2019-09-27 17:47:58 2053
hypot()方法返回的欧几里德范数sqrt(x*x+y*y).语法以下是hypot()方法的语法:hypot(x,y)注意:此函数是无法直接访问的,所以我们需要导入math模块,然后需要用math的静态对象来调用这个函数参数x--这必须是一个数值y--此方法返回欧几里德范数sqrt(x*x+y*y)返回值此方法返回欧几里德范数sqrt(x*x+y*y)例子下面的例子显示hypot()方法的使用。#!/usr/bin/pythonimportmathpri
系统 2019-09-27 17:47:27 2053