2.快速排序2.1算法思想快速排序是对冒泡排序的一种改进。通过一次排序(设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它左边,所有比它大的数都放到它右边,这个过程称为一次快速排序)将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序的
系统 2019-09-27 17:49:43 2139
集合是一个无序的,不重复的数据组合,它的主要作用如下:去重,把一个列表变成集合,就自动去重了关系测试,测试两组数据之前的交集、差集、并集等关系s=set([3,5,9,10])#创建一个数值集合t=set("Hello")#创建一个唯一字符的集合a=t|s#t和s的并集b=t&s#t和s的交集c=t-s#求差集(项在t中,但不在s中)d=t^s#对称差集(项在t或s中,但不会同时出现在二者中)基础功能List=[1,2,5,6,8]List=set(lis
系统 2019-09-27 17:48:36 2139
一、对列表(list)进行排序推荐的排序方式是使用内建的sort()方法,速度最快而且属于稳定排序复制代码代码如下:>>>a=[1,9,3,7,2,0,5]>>>a.sort()>>>printa[0,1,2,3,5,7,9]>>>a.sort(reverse=True)>>>printa[9,7,5,3,2,1,0]>>>b=['e','a','be','ad','dab','dbc']>>>b.sort()>>>printb['a','ad','be'
系统 2019-09-27 17:48:22 2139
我们在写代码的过程中,会经常使用到for循环,去循环列表,那么如果我们拿到一个类型为str的列表,对它进行for循环,结果看下面的代码和图:str_list=str(['a','b','c'])forrowinstr_list:print(row)结果:Python字符串类型列表转换成真正列表类型那么for循环就把str类型的列表的每一个字符都一个一个的循环的打印出来,而这个结果并不是我们想要的,那么如何解决这个问题?,使用到第三方模块,看下面的代码fro
系统 2019-09-27 17:47:49 2139
cmp()方法返回两个数的差的符号:-1如果xy.语法以下是cmp()方法的语法:cmp(x,y)参数x--这是一个数值表达式y--这也是一个数值表达式返回值此方法如果xy则返回1例子下面的例子显示cmp()方法的使用#!/usr/bin/pythonprint"cmp(80,100):",cmp(80,100)print"cmp(180,100):",cmp(180,100)print"cmp(-80,100):",c
系统 2019-09-27 17:47:43 2139
sqrt()方法返回x的平方根(x>0)。语法以下是sqrt()方法的语法:importmathmath.sqrt(x)注意:此函数是无法直接访问的,所以我们需要导入math模块,然后需要用math的静态对象来调用这个函数。参数x--这是一个数值表达式。返回值此方法返回x的平方根,对于x>0。例子下面的例子显示了sqrt()方法的使用。#!/usr/bin/pythonimportmath#Thiswillimportmathmoduleprint"mat
系统 2019-09-27 17:47:36 2139
python是解释型语言,本文介绍了Python下利用turtle实现绘图功能的示例,本例所示为Python绘制一个树枝,具体实现代码如下:python是解释型语言,本文介绍了Python下利用turtle实现绘图功能的示例,本例所示为Python绘制一个树枝,具体实现代码如下:importturtledefbranch(length,level):iflevel<=0:returnturtle.forward(length)turtle.left(45)
系统 2019-09-27 17:47:13 2139
在这里主要讨论的是while循环,for循环通过迭代对象退出。由于while循环通常不知道循环的次数,所以对于while循环,它的几种应用场景导致退出条件设置的不同。一、让用户选择何时退出:定义退出变量可使用while循环让程序在用户在愿意的时不断运行,在其中定义一个退出值,只要用户输入的不是这个,程序就接着运行。我们小时候玩游戏的经常会遇到,当人物死亡的时候,界面会跳出重新开始游戏or结束游戏,结束游戏就相当于我们设置的退出值。形式如下:active=T
系统 2019-09-27 17:46:45 2139
前言关于python版本,我一开始看很多资料说python2比较好,因为很多库还不支持3,但是使用到现在为止觉得还是pythin3比较好用,因为编码什么的问题,觉得2还是没有3方便。而且在网上找到的2中的一些资料稍微改一下也还是可以用。好了,开始说爬百度百科的事。这里设定的需求是爬取北京地区n个景点的全部信息,n个景点的名称是在文件中给出的。没有用到api,只是单纯的爬网页信息。1、根据关键字获取url由于只需要爬取信息,而且不涉及交互,可以使用简单的方法
系统 2019-09-27 17:38:45 2139
一、什么是递归如果函数包含了对其自身的调用,该函数就是递归的。递归做为一种算法在程序设计语言中广泛应用,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。例如,要计算1-9的9位数字的乘积,直观的算法是1*2*3*4*5*6*7*8*9,如果要计算1-10000的乘积,直观的算法就难于实现出,而递归就可以很简单的实现。请看示例:deffact(
系统 2019-09-27 17:38:31 2139