1、介绍itertools是python的迭代器模块,itertools提供的工具相当高效且节省内存。使用这些工具,你将能够创建自己定制的迭代器用于高效率的循环。-无限迭代器itertools包自带了三个可以无限迭代的迭代器。这意味着,当你使用他们时,你要知道要的到底是最终会停止的迭代器,还是需要无限地迭代鞋去。(1)count(初值=0,步长=1):count迭代器会返回从传入的起始参数开始的均匀间隔的数值。count也可以接收指定的步长参数。我们来看一
系统 2019-09-27 17:47:20 1788
mydict={'Li':['M',7],'Zhang':['E',2],'Wang':['P',3],'Du':['C',2],'Ma':['C',9],'Zhe':['H',7]}res=sorted(mydict.items(),key=lambdax:x[1][1])#根据value结构[m,n]中n的值进行排序print(res)#输出#[('Zhang',['E',2]),('Du',['C',2]),('Wang',['P',3]),('Li
系统 2019-09-27 17:46:52 1788
python发邮件需要掌握两个模块的用法,smtplib和email,这俩模块是python自带的,只需import即可使用。smtplib模块主要负责发送邮件,email模块主要负责构造邮件。smtplib模块主要负责发送邮件:是一个发送邮件的动作,连接邮箱服务器,登录邮箱,发送邮件(有发件人,收信人,邮件内容)。email模块主要负责构造邮件:指的是邮箱页面显示的一些构造,如发件人,收件人,主题,正文,附件等。1.smtplib模块smtplib使用较
系统 2019-09-27 17:46:47 1788
forsplitValueinset(dataset[:,featureIndex].tolist()):首先set是一个无序,无重复的数据结构,所以很多时候使用它来进行去重;但是set接收的函数是原生array,这个怎么办?我现在有的numpy里面的matrix;于是我查了一下,直接使用matrix.tolist(),但是发现返回值有问题:importosos.chdir("D:\\galaxy\\aliyunsvn\\code\\MLInAction\
系统 2019-09-27 17:46:43 1788
读取一个已经保存了的字典f=open('dict_th','r')a=f.read()dict_hi=eval(a)f.close()保存一个字典dict={}list1=[]list2=[]forlineinlines:line=line.strip()if">"inline:list1.append(line)else:list2.append(line)foriinrange():dict[list1[i]]=list2[i]f6=open("dic
系统 2019-09-27 17:46:38 1788
利用twitter/bootstrap,项目的基础模板算是顺利搞定。接下来开始处理用户中心。用户中心主要包括用户登陆、注册以及头像等个人信息维护。此前,用户的注册管理我一直使用django-registration。只是这个APP有些不思进取,09年发布了0.8alpha版后就一直没什么动静。这次决定尝试另外一个用户模块组件django-userena。相比django-registration,django-userena的功能要完善的多。除基础的登陆注
系统 2019-09-27 17:46:12 1788
方法一:主要是inshow()函数的使用首先基本的画图流程为:importmatplotlib.pyplotasplt#创建新的figurefig=plt.figure()#必须通过add_subplot()创建一个或多个绘图#ax=fig.add_subplot(221)#绘制2x2两行两列共四个图,编号从1开始ax1=fig.add_subplot(221)ax2=fig.add_subplot(222)ax3=fig.add_subplot(223)
系统 2019-09-27 17:46:00 1788
我们熟悉了对象和类的基本概念。我们将进一步拓展,以便能实际运用对象和类。调用类的其它信息上一讲中提到,在定义方法时,必须有self这一参数。这个参数表示某个对象。对象拥有类的所有性质,那么我们可以通过self,调用类属性。复制代码代码如下:classHuman(object):laugh='hahahaha'defshow_laugh(self):printself.laughdeflaugh_100th(self):foriinrange(100):se
系统 2019-09-27 17:45:55 1788
创建一个软件包(package)似乎已经足够简单了,也就是在文件目录下搜集一些模块,再加上一个__init__.py文件,对吧?我们很容易看出来,随着时间的推移,通过对软件包的越来越多的修改,一个设计很差的软件包可能会出现循环依赖问题,或是可能变得不可移植和不可靠。1.__init__.py仅为导入服务对于一个简单的软件包,你可能会忍不住把工具方法,工厂方法和异常处理都丢进__init__.py,千万别这样!一个结构良好的__init__.py文件,仅为一
系统 2019-09-27 17:45:42 1788
先给出结论:要替换的字符数量不多时,可以直接链式replace()方法进行替换,效率非常高;如果要替换的字符数量较多,则推荐在for循环中调用replace()进行替换。可行的方法:1.链式replace()string.replace().replace()1.x在for循环中调用replace()「在要替换的字符较多时」2.使用string.maketrans3.先re.compile然后re.sub……defa(text):chars=""for
系统 2019-09-27 17:38:36 1788