今天我们来到了循环队列这一节,之前的文章中,我介绍过了用python自带的列表来实现队列,这是最简单的实现方法。但是,我们都知道,在列表中删除第一个元素和删除最后一个元素花费的时间代价是不一样的,删除列表的第一个元素,那么在它之后的所有元素都要进行移动。所以当列表特别长的时候,这个代价就比较明显了。我们本文介绍的循环队列可以避免这个问题,同样我们上篇文章提到的用链表实现的方法也可以避免。下面,我们来介绍循环队列。循坏队列循环队列,就是将普通的队列首尾连接起
系统 2019-09-27 17:50:25 1920
[TOC]一、锁线程中的锁机制和进程中一样。都是通过锁来控制资源访问虽然,线程中的资源是共享的,但也可以通过锁来进行控制。达到线程同步的目的。虽然牺牲了效率但是保证了安全。x=0mutex=Lock()deftask():globalxmutex.acquire()#上锁foriinrange(200000):x=x+1mutex.release()#解锁if__name__=='__main__':th_list=[]foriinrange(10):t1
系统 2019-09-27 17:49:53 1920
[TOC]一、队列queue队列:使用importqueue,用法与进程Queue一样实际上这里就是Python解释器中的一种数据结构中的类型——队列这里直接使用队列也可以。如果还要类似计数器的功能可以加上task_done和joinFIFO先进先出LIFO后进先出优先级队列二、先进先出(FIFO)classqueue.Queue(maxsize=0)###普通队列q=queue.Queue()###没有计数器进行阻塞FIFOq.put("first")q
系统 2019-09-27 17:49:51 1920
最近越发感觉到限制我对Python运用、以及读懂别人代码的地方,大多是在于对数据的处理能力。其实编程本质上就是数据处理,怎么把文本数据、图像数据,通过python读入、切分等,变成一个N维矩阵,然后再带入别人的模型,bingo~跑出来一个结果。结果当然也是一个矩阵或向量的形式。所以说,之所以对很多模型、代码束手无策,其实还是没有掌握好数据处理的“屠龙宝刀”,无法对海量数据进行“庖丁解牛”般的处理。因此,我想以一个别人代码中的一段为例,仔细琢磨文本数据处理的
系统 2019-09-27 17:49:36 1920
词云是一种非常漂亮的可视化展示方式,正所谓一图胜过千言万语,词云在之前的项目中我也有过很多的使用,可能对于我来说,一种很好的自我介绍方式就是词云吧,就像下面这样的:个人觉还是会比枯燥的文字语言描述性的介绍会更吸引人一点吧。今天不是说要怎么用词云来做个人介绍,而是对工作中使用到比较多的词云计较做了一下总结,主要是包括三个方面:1、诸如上面的简单形式矩形词云2、基于背景图片数据来构建词云数据3、某些场景下不想使用类似上面的默认的字体颜色,这里可以自定义词云的字
系统 2019-09-27 17:48:59 1920
1、全局变量与局部变量两者的区别2、global关键字与nonlocal关键字的区别一、全局变量与局部变量两者的本质区别就是在于作用域全局变量是作用在整个py文件上的,在任何地方都能访问和修改。局部变量只能在它所在的函数内部才能调用。在其他函数中无法使用,且定义的函数内部不能直接使用或修改全局变量。如果函数内部出现与全局变量名字相同的局部变量,其实二者完全不同,注意区分。通过下面几个例子来看二者之间的区别DEMO1>>>defmyfun():>>>coun
系统 2019-09-27 17:47:56 1920
安装方法:注:python环境一定要配置好。1.第一步:下载官方网站:http://www.pyinstaller.org/downloads.html此处下载版本为稳定版。2.第二步:下载完成后解压,打开cmd。例如:我的在F盘根目录下。可更换目录,建议不要有目录不要带有中文。上图:关键安装命令。下图:安装过程图。注意命令的空格,下面夸张了下空格间距,每次空格也仅需按一次。(1)cdF:\pyinstaller-develop\bootlaoder(进入
系统 2019-09-27 17:47:11 1920
@[TOC](Python3多维列表排序–itemgetter()的使用)fromoperatorimportitemgettergameresult=[["Bob",95.00],'A'],["ALan",86.0,'C'],['Mandy',82.5,'A'],['Rob',86,'E']]res=sorted(gameresult,key=itemgetter(2,1))#先以等级排序,如果等级相同再按照分数排序,顺序是从小到大#结果是[['Mand
系统 2019-09-27 17:47:04 1920
fileno()方法返回所使用的底层实现,要求从操作系统I/O操作的整数文件描述符。语法以下是fileno()方法的语法:fileObject.fileno();参数NA返回值此方法返回整数文件描述符。例子下面的例子显示fileno()方法的使用。#!/usr/bin/python#Openafilefo=open("foo.txt","wb")print"Nameofthefile:",fo.namefid=fo.fileno()print"FileDe
系统 2019-09-27 17:46:29 1920
大体上把Python中的数据类型分为如下几类:Number(数字)包括int,long,float,complexString(字符串)例如:hello,"hello",helloList(列表)例如:[1,2,3],[1,2,3,[1,2,3],4]Dictionary(字典)例如:{1:"nihao",2:"hello"}Tuple(元组)例如:(1,2,3,abc)Bool(布尔)包括True、False由于Python中认为所有的东西都是对象,所以
系统 2019-09-27 17:38:45 1920