八大排序算法的Python实现原文地址插入排序插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。在第一部分排序完成后,再将这个最后元素插入到已排好序的第一部分中。代码实现
系统 2019-09-27 17:55:35 1904
目录python单例模式1、什么是单例模式2、__new__方法实现3、装饰器实现4、模块实现5、共享属性实现6、元类实现python单例模式1、什么是单例模式单例模式(SingletonPattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个AppConfig的类来读取配置文件的信息。如果在
系统 2019-09-27 17:55:32 1904
本文实例展示了一个脚本python用来转化表配置数据xml并生成相应的解析代码。但是在中文编码上出现了乱码,现将解决方法分享出来供大家参考。具体方法如下:1.Python文件设置编码utf-8(文件前面加上#encoding=utf-8)2.MySQL数据库charset=utf-83.Python连接MySQL是加上参数charset=utf84.设置Python的默认编码为utf-8(sys.setdefaultencoding(utf-8)示例代码如
系统 2019-09-27 17:55:27 1904
1.代码风格在Python中,每行程序以换行符代表结束,如果一行程序太长的话,可以用“\”符号扩展到下一行。在python中以三引号(""")括起来的字符串,列表,元组和字典都能跨行使用。并且以小括号(...)、中括号[...]和大括号{...}包围的代码不用加“\”符也可扩展到多行。在Python中是以缩进来区分程序功能块的,缩进的长度不受限制,但就一个功能块来讲,最好保持一致的缩进量。如果一行中有多条语句,语句间要以分号(;)分隔。以“#”号开头的内容
系统 2019-09-27 17:55:15 1904
Python语言有一个比较Pythonic的功能,也是一个具有很强大功能的特性,那就是装饰器。1.Python装饰器的原理Python中的装饰器是通过利用了函数特性的闭包实现的,所以我们需要了解Python闭包的原理,以及函数的功能特性。1.1函数特性函数作为变量传递defadd(x):returnx+1a=add(5)print(a)#运行结果:6函数作为参数传递defadd(x):returnx+1defexecute(f):returnf(3)pri
系统 2019-09-27 17:54:59 1904
优化算法时间复杂度算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)。不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想。减少冗余数据如用上三角或下三角的方式去保存一个大的对称矩阵。在0元素占大多数的矩阵里使用稀疏矩阵表示。合理使用copy与deepcopy对于dict和list等数据结构的对象,直接赋值使用
系统 2019-09-27 17:54:58 1904
简介壁纸的选择其实很大程度上能看出电脑主人的内心世界,有的人喜欢风景,有的人喜欢星空,有的人喜欢美女,有的人喜欢动物。然而,终究有一天你已经产生审美疲劳了,但你下定决定要换壁纸的时候,又发现网上的壁纸要么分辨率低,要么带有水印。壁纸的选择其实很大程度上能看出电脑主人的内心世界,有的人喜欢风景,有的人喜欢星空,有的人喜欢美女,有的人喜欢动物。然而,终究有一天你已经产生审美疲劳了,但你下定决定要换壁纸的时候,又发现网上的壁纸要么分辨率低,要么带有水印。演示图片
系统 2019-09-27 17:54:45 1904
datetime模块中包含五种基本类型:date、time、datetime、timedelta和tzinfo,tz是timezone的缩写,tzinfo用于表示时区信息。一,date类型date类型表示日期,是由year、month和day构成的对象1,初始化date对象使用date(year,month,day)函数来初始化date对象:fromdatetimeimportdatemydate=date(year,month,day)2,date对象函
系统 2019-09-27 17:54:44 1904
如下所示:data={"北京":{"昌平":{"沙河":["oldboy","test"],"天通苑":["链接地产","我爱我家"]},"朝阳":{"望京":["奔驰","陌陌"],"国贸":["CICC","HP"],"东直门":["advent","飞信"]},"海淀":{}},"山东":{"德州":{},"青岛":{},"济南":{}},"广东":{"东莞":{},"常熟":{},"佛山":{}}}exit_flag=Falsewhilenotex
系统 2019-09-27 17:54:15 1904
Pandas中对时间这个属性的处理有非常非常多的操作。而本文对其中一个大家可能比较陌生的方法进行讲解。其他的我会陆续上传。应用情景是这样的:考虑到有一个数据集,数据集中有用户注册账号的时间(年-月-日),如下图格式。如果我们希望对用户账号注册时间转为具体的天数,我们可以用如下代码。importpandasaspdtd=data['user_reg_tm']Time=pd.to_datetime(td)Start=pd.datetime(2016,4,16)
系统 2019-09-27 17:53:59 1904