2.快速排序2.1算法思想快速排序是对冒泡排序的一种改进。通过一次排序(设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它左边,所有比它大的数都放到它右边,这个过程称为一次快速排序)将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序的
系统 2019-09-27 17:49:43 2035
前言本文主要介绍的是关于python中open函数用法的相关资料,用法如下:name=open('errname.txt','w')name.readline()name.close()1、看下第一行的代码用来访问磁盘中存放的文件,可以进行读写等操作,例如上例中'w',这里便是对errname.txt这个文件进行读操作例如:w:以写方式打开a:以追加方式打开r+:以读写模式打开w+:以读写模式打开rb:以二进制读模式打开wb:以二进制写模式打开ab:以二进
系统 2019-09-27 17:49:36 2035
问题背景:源于公司的原来的代码是python2开发的,后来改为python3开发,设计到的property的用法有点不一样直接上代码公司原来的python2的代码classLineItem:def__init__(self,description,weight,price):self.description=descriptionself.__weight=weightself.price=price@propertydefweight(self):ret
系统 2019-09-27 17:49:16 2035
文章目录python力扣刷题探索初级算法数组从数组中删除重复项买卖股票的最佳时机II向右旋转数组几次存在重复找出只出现一次的数字的元素两个数组的交集II元素末尾加一移动0的位置到数组末尾求数组中两数之和等于指定值的两个数,并求索引有效的数独旋转图像(zip函数,map函数)python力扣刷题探索初级算法数组从数组中删除重复项classSolution:defremoveDuplicates(self,nums):"""删除重复项后的数组"""if(len
系统 2019-09-27 17:48:25 2035
递归和迭代从本质上看都是循环的一种,递归通过在循环中调用自身,而迭代则通过某段代码实现循环一般来说:迭代的思想会使问题简单化,但计算过程会十分繁琐,因为参数要通过传递的形式先到达递归条件值,然后再一层一层返回,会占用大量内存,只适用于小型的问题求解。一、递归:它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量注意:递归就是在过程或函数里面调用自身
系统 2019-09-27 17:47:18 2035
本文深入剖析了python中dict,set,list,tuple应用及对应示例,有助于读者对其概念及原理的掌握。具体如下:1.字典(dict)dict用{}包围dict.keys(),dict.values(),dict.items()hash(obj)返回obj的哈希值,如果返回表示可以作为dict的keydel或dict.pop可以删除一个item,clear清除所有的内容sorted(dict)可以把dict排序dict.get()可以查找没存在的
系统 2019-09-27 17:47:12 2035
简介有时候需要确定一篇新闻文本的地名,比如上海市实施了垃圾分类...其地名,即归属地是上海,本工具就是实现这个功能的。给定一篇文章,可包含标题和正文(或仅标题,仅正文),确定其归属地(地名)。结果标准:区分国内国外,国外到国家名一级国内到省市一级安装使用python3$gitclonehttps://github.com/dongrixinyu/location_detect.git$cdlocation_detect$pipinstall.使用方法样例1
系统 2019-09-27 17:46:49 2035
函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。注意其中:map和filter返回一个惰性序列,可迭代对象,需要转化为list>>>a=3.1415>>>round(a,2)3.14>>>a_round=round>>>a_round(a,2)3.14>>>deffunc_devide(x,y,f):returnf(x)-f(y)#传递参数为函数print(func_devide(9.3,3.2,round))1.
系统 2019-09-27 17:46:26 2035
并发与锁多个线程共享数据的时候,如果数据不进行保护,那么可能出现数据不一致现象,使用锁,信号量、条件锁互斥锁1.互斥锁,是使用一把锁把代码保护起来,以牺牲性能换取代码的安全性,那么Rlock后必须要relase解锁不然将会失去多线程程序的优势2.互斥锁的基本使用规则:importthreading#声明互斥锁lock=threading.Rlock();defhandle(sid):#功能实现代码lock.acquire()#加锁#writercodein
系统 2019-09-27 17:45:51 2035
字符串--不可改变的序列如同大多数高级编程语言一样,变长字符串是Python中的基本类型。Python在“后台”分配内存以保存字符串(或其它值),程序员不必为此操心。Python还有一些其它高级语言没有的字符串处理功能。在Python中,字符串是“不可改变的序列”。尽管不能“按位置”修改字符串(如字节组),但程序可以引用字符串的元素或子序列,就象使用任何序列一样。Python使用灵活的“分片”操作来引用子序列,字符片段的格式类似于电子表格中一定范围的行或列
系统 2019-09-27 17:38:37 2035