问题:用两个栈来实现一个队列,完成队列的Push和Pop操作。分析:栈的特性是“先进后出”,队列为“先进先出”。思路:入队:直接把新元素压入stack1即可。出队:根据队列先进先出的性质,由于先进入队列的元素被压倒stack1的栈底,要想实现先入队列的先出队,需要将stack1中的元素逐个弹出并压入stack2,经过弹出和压入之后最先进入的元素就处于stack2的栈顶,有可以直接弹出。python实现代码:classSolution:def__init__
系统 2019-09-27 17:52:27 1813
一、zipfile模块的简述zipfile是python里用来做zip格式编码的压缩和解压缩的,由于是很常见的zip格式,所以这个模块使用频率也是比较高的,在这里对zipfile的使用方法做一些记录。即方便自己也方便别人。zipfile里有两个非常常用的class,分别是ZipFile和ZipInfo,在绝大多数的情况下,我们只需要使用这两个class就可以了。ZipFile是主要的类,用来创建和读取zip文件而ZipInfo是存储的zip文件的每个文件的
系统 2019-09-27 17:51:00 1813
使用python脚本备份zk中的配置python备份代码python3back.pyimportosimportos.pathfromkazoo.clientimportKazooClientfromkazoo.clientimportKazooStatezk=KazooClient('test:2181')zk.start()zkBashPath="/conf/base/"backUp_path="/tmp/test/"cs=zk.get_childre
系统 2019-09-27 17:50:23 1813
创建时间序列函数pd.date_range()根据指定的范围,生成时间序列DatetimeIndex,每隔元素的类型为Timestamp。该函数应用较多。ts=pd.date_range('2017-09-01',periods=10,freq='d',normalize=False)ts输出为:DatetimeIndex(['2017-09-01','2017-09-02','2017-09-03','2017-09-04','2017-09-05','
系统 2019-09-27 17:50:15 1813
Python重试模块retrying工作中经常碰到的问题就是,某个方法出现了异常,重试几次。循环重复一个方法是很常见的。比如爬虫中的获取代理,对获取失败的情况进行重试。刚开始搜的几个博客讲的有点问题,建议看官方文档,还有自己动手实验。参考:https://segmentfault.com/a/1190000004085023https://pypi.org/project/retrying/最初的版本importrequestsclassProxyUtil
系统 2019-09-27 17:49:24 1813
对于Linux用户来说,命令行的名声相当的高。不像其他操作系统,命令行是一个可怕的命题,但是对于Linux社区中那些经验丰富的大牛,命令行却是最值得推荐鼓励使用的。通常,命令行对比图形用户界面,更能提供更优雅和更高效的解决方案。命令行伴随着Linux社区的成长,UNIXshells,例如bash和zsh,已经成长为一个强大的工具,也是UNIXshell的重要组成部分。使用bash和其他类似的shells,可以得到一些很有用的功能,例如,管道,文件名通配符和
系统 2019-09-27 17:49:16 1813
百度地图提供了开放的API,使用方法WEB服务API右上角登陆账号->点击“获取密钥”->“创建应用”->填写应用名称&白名单IP->然后复制AK(例如u2uqy7Gxui0XyBdcHLU0D3hQINLKokc0)然后直接上代码API提供了3种方式1行政区划区域检索2圆形区域检索3矩形区域检索详情可见API详情本文以1,3为例importrequestsurl="http://api.map.baidu.com/place/v2/search"quer
系统 2019-09-27 17:49:03 1813
最近敲代码的时候主要遇到两大问题,第一个是构造自己包的时候找不到package。构造自己package谈两条经验,有助于解决这个问题。1自己构造包的名称尽量不要和Python自带的包重名,起的名字个性化一点。要不然出的bug都不知道错在哪2只要打算把这个文件夹当成一个包,就一定要在这个文件夹同一目录下新建一个__init__.py文件(内容可以为空)一般来说注意这两点,构建包就不成问题。在包的文件夹里面的.py文件称之为模块(文件名就是模块名),当然包里也
系统 2019-09-27 17:48:06 1813
效果展示规则介绍基于二维元胞自动机的生命游戏可视化实现规则:蓝色方块代表生命有颜色的方块代表生命,无颜色的方块代表死亡一个细胞周围有八个细胞,对于一个活细胞来说,如果它周围的八个细胞中:如果只有一个或没有一个是活的,那这个细胞就会死亡如果其中两个或者三个细胞是活的,那这个细胞就能维持生命如果超过3个细胞是活着的,那这个细胞就会因为过于拥挤而死亡对于一个死细胞来说,如果这个细胞周围如果有三个细胞存活,该将获得新生。附:所有规则都可以修改,种群初始密度也可以修
系统 2019-09-27 17:47:53 1813
maketrans()方法返回的字符串intab每个字符映射到字符的字符串outtab相同位置的转换表。然后这个表被传递到translate()函数。注意:两个intab和outtab必须具有相同的长度。语法以下是maketrans()方法的语法:str.maketrans(intab,outtab]);参数intab--这是实际字符的字符串。outtab--这是相应的映射的字符的字符串。返回值此方法返回时使用转换表translate()函数。例子下面的例
系统 2019-09-27 17:47:11 1813