摘要:
1. 栈栈(Stack)是限制插入和删除操作只能在一个位置进行的表,该位置是表的末端,称为栈的顶(top)。栈的基本操作有PUSH(入栈)和POP(出栈)。栈又被称为LIFO(后入先出)表。1.1 栈的实现class Stack(object): def __init__(self): self.stack=[] def isEmpty(self): return self.stack==[] def push(self,item): self.stack.append(item) def pop(self): i... 阅读全文
摘要:
1. 桶排序1.1 范围为1-M的桶排序如果有一个数组A,包含N个整数,值从1到M,我们可以得到一种非常快速的排序,桶排序(bucket sort)。留置一个数组S,里面含有M个桶,初始化为0。然后遍历数组A,读入Ai时,S[Ai]增一。所有输入被读进后,扫描数组S得出排好序的表。该算法时间花费O(... 阅读全文
摘要:
链表由一系列不必在内存中相连的结构构成,这些对象按线性顺序排序。每个结构含有表元素和指向后继元素的指针。最后一个单元的指针指向NULL。为了方便链表的删除与插入操作,可以为链表添加一个表头。删除操作可以通过修改一个指针来实现。插入操作需要执行两次指针调整。1. 单向链表的实现1.1 Node实现 每个Node分为两部分。一部分含有链表的元素,可以称为数据域;另一部分为一指针,指向下一个Node。class Node(): __slots__=['_item','_next'] #限定Node实例的属性 def __init__(self,item): self. 阅读全文
摘要:
1.全局解释器锁定 Python虚拟机使用GIL(Global Interpreter Lock,全局解释器锁定)来互斥线程对共享资源的访问,暂时无法利用多处理器的优势。虽然python解释器可以“运行”多个线程,但在任意时刻,不管有多少的处理器,任何时候都总是只有一个线程在执行。对于I/O密集型任 阅读全文
摘要:
PyQuery是一个类似于jQuery的Python库,也可以说是jQuery在Python上的实现,能够以 jQuery 的语法来操作解析 HTML 文档,易用性和解析速度都很好。例如,一段豆瓣html片段http://movie.douban.com/subject/3530403/ 1 2 导演: 汤姆·提克威 / 拉娜·沃卓斯基 / 安迪·沃卓斯基 3 编剧: 汤姆·提克威 / 安迪·沃卓斯基 / 拉娜·沃卓斯基 4 主演: 汤姆·汉克斯 / 哈莉·贝瑞 / 吉姆·布劳德本特 / 雨果· 阅读全文
摘要:
urllib2.urlopen()函数不支持验证、cookie或者其它HTTP高级功能。要支持这些功能,必须使用build_opener()函数创建自定义Opener对象。1. build_opener([handler1 [ handler2, ... ]])参数handler是Handler实例,常用的有HTTPBasicAuthHandler、HTTPCookieProcessor、ProxyHandler等。build_opener ()返回的对象具有open()方法,与urlopen()函数的功能相同。如果要修改http报头,可以用:import urllib2opener = ur 阅读全文
摘要:
urllib模块提供了一些高级接口,用于编写需要与HTTP服务器交互的客户端。典型的应用程序包括从网页抓取数据、自动化、代理、网页爬虫等。在Python 2中,urllib功能分散在几个不同的库模块中,包括urllib、urllib2、urlparse等。在Python 3中,所有功能都合并在urllib包中。1. urlopen(url[,data[,timeout]])要抓取html网页,很简单import urllib2response=urllib2.urlopen('http://www.google.com') urlopen创建一个表示远程url的类文件对象,然后 阅读全文
摘要:
Python中cookielib库(python3中为http.cookiejar)为存储和管理cookie提供客户端支持。该模块主要功能是提供可存储cookie的对象。使用此模块捕获cookie并在后续连接请求时重新发送,还可以用来处理包含cookie数据的文件。这个模块主要提供了这几个对象,CookieJar,FileCookieJar,MozillaCookieJar,LWPCookieJar。1. CookieJar CookieJar对象存储在内存中。>>> import urllib2>>> import cookielib>>> 阅读全文
摘要:
Cookie用于服务器实现会话,用户登录及相关功能时进行状态管理。要在用户浏览器上安装cookie,HTTP服务器向HTTP响应添加类似以下内容的HTTP报头:Set-Cookie:session=8345234;expires=Sun,15-Nov-2013 15:00:00 GMT;path=/;domain=baidu.comexpires是cookie的生存周期,path是cookie的有效路径,domain是cookie的有效域.路径"path"用于设置可以读取一个cookie的最顶层的目录.将cookie的路径设置为你的网页最顶层的目录可以让该该目录下的所有网页 阅读全文
摘要:
主要参考了http://www.slashroot.in/which-is-the-fastest-method-to-delete-files-in-linux首先建立50万个文件➜ test for i in $(seq 1 500000);do echo text >>$i.txt;done 1. rm➜ test time rm -f *zsh: sure you want to delete all the files in /home/hungerr/test [yn]? yzsh: argument list too long: rmr... 阅读全文