目录一、插入排序二、冒泡排序三、快排(递归)四、选择排序生成一个长度为10的范围在0~20的随机数组importrandomtemp_list=[]whileTrue:num=random.randint(0,20)ifnumnotintemp_list:temp_list.append(num)iflen(temp_list)==10:breakprinttemp_list一、插入排序definsert(list):length=len(list)for
系统 2019-09-27 17:51:37 2152
要安装运行Python的容器,那先到https://hub.docker.com/去查找一下,看看有哪些可用的镜像。恩,最高的版本已经是3.8.0b4了,不过考虑下还是安装3.7.4稳定版把。用来安装的虚拟机是Ubuntu18.04服务器版,安装虚拟机就跳过不写了,太简单。为了方便,使用root用户操作。在Ubuntu上安装Docker使用官方脚本,在终端输入curl-fsSLget.docker.com-oget-docker.sh瞬间下载安装脚本:-r
系统 2019-09-27 17:51:05 2152
今天来介绍一下Python解释器包含的一系列的内置函数,下面表格按字母顺序列出了内置函数:下面就一一介绍一下内置函数的用法:1、abs()返回一个数值的绝对值,可以是整数或浮点数等。print(abs(-18))print(abs(0.15))result:180.152、all(iterable)如果iterable的所有元素不为0、''、False或者iterable为空,all(iterable)返回True,否则返回False。print(all(
系统 2019-09-27 17:50:56 2152
使用诸如Lock、RLock、Semphore之类的锁原语时,必须多加小心,锁的错误使用很容易导致死锁或相互竞争。依赖锁的代码应该保证当出现异常时可以正常的释放锁。典型代码如下:try:lock.acquire()#关键部分...finally:lock.release()另外,所有种类的锁还支持上下文管理协议(写起来更简洁):with语句自动获取锁,并且在控制流离开上下文时自动释放锁。withlock:#关键部分...此外,编写代码时一般应该避免同时获取
系统 2019-09-27 17:50:41 2152
今天我们来到了循环队列这一节,之前的文章中,我介绍过了用python自带的列表来实现队列,这是最简单的实现方法。但是,我们都知道,在列表中删除第一个元素和删除最后一个元素花费的时间代价是不一样的,删除列表的第一个元素,那么在它之后的所有元素都要进行移动。所以当列表特别长的时候,这个代价就比较明显了。我们本文介绍的循环队列可以避免这个问题,同样我们上篇文章提到的用链表实现的方法也可以避免。下面,我们来介绍循环队列。循坏队列循环队列,就是将普通的队列首尾连接起
系统 2019-09-27 17:50:25 2152
一、操作系统中相关进程的知识Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。子进程永远返回0,而父进程返回子进程的ID。这样做的理由是,一个父进程可以fork出很多子进程,所以,父进程要记下每个子进程的ID,而子进程只需要调用getppid()就可以拿到父进程的I
系统 2019-09-27 17:50:08 2152
一、安装一般使用cmd安装就可以手动安装通过下载方式django官方网站:https://www.djangoproject.com/python官方仓库:https://pypi.python.org/pypi/Django二、配置使用1、通过cmd新建一个项目,我是在桌面新建上面命令会在桌面新建pythonDjango文件夹,在里面会生成如下图两个文件manage.py:命令行工具,可以用多种方式与该django项目进行交互;在pythonDjango
系统 2019-09-27 17:49:45 2152
【摘要】本节中,我们看一下正则表达式的相关用法。正则表达式是处理字符串的强大工具,它有自己特定的语法结构,有了它,实现字符串的检索、替换、匹配验证都不在话下。当然,对于爬虫来说,有了它,从HTML里提取想要的信息就非常方便了。1.实例引入说了这么多,可能我们对它到底是个什么还是比较模糊,下面就用几个实例来看一下正则表达式的用法。打开开源中国提供的正则表达式测试工具http://tool.oschina.net/regex/,输入待匹配的文本,然后选择常用的
系统 2019-09-27 17:48:57 2152
背景:最近写的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 2152
python基础(1):基础操作:python是一个解释性语言。故可以直接通过命令行与python解释器交互:In[1]:a=1In[2]:print(a)1在python中,+-*分别表示加减乘,但/表示的是浮点除法,而//表示地板除法,**表示乘方,%表示求余#用'#'表示注释a=3+2#5b=a-2#3c=a*b#15d=5/2#2.5e=5//2#2f=5%2#1字符串python的字符串使用单引号(’')或者双引号(""),但须成对出现,对应即可
系统 2019-09-27 17:48:29 2152