- 博客(22)
- 收藏
- 关注
原创 pandas
pandas索引>import pandas as pd>s.index.name='alpha'#给一维数组索引定义名字#行索引>df.index#列索引>df.columns#索引值有重复项时>s.index.is_unique #判断是否有重复索引>s.groupby(s.index).sum() #将重复项求和#多级索引&g...
2020-01-10 15:38:34
156
原创 pandas的一些基础运算
pandas基础运算>import pandas as pd>import numoy as np>s=pd.Series([1,3,5,6,8],index=list('acefh'))#增加行>s.seindex(list('abcdefgh'),fill_value=0)>s.seindex(list('abcdefgh'),method='ffi...
2020-01-09 11:05:44
182
原创 numpy的基础知识
numpy属性>import numpy as np>array=np.array([[1,2,3],[2,3,4]])>print(array)>print(array.ndim)>print(array.shape)#行列>print(array.size)#共有多少元素>numpy创建array>import numpy ...
2020-01-08 19:45:13
141
原创 二叉树
二叉树的节点表示以及树的创建通过使用Node类中定义三个属性,分别为elem本身的值,还有lchild左孩子和rchild右孩子class Node(object): """节点类""" def __init__(self, elem=-1, lchild=None, rchild=None): self.elem = elem self.lch...
2019-11-24 13:19:06
110
原创 归并排序
归并排序:归并排序是采用分治法的一个非常典型的应用。归并排序的思想就是先递归分解数组,再合并数组。将数组分解最小之后,然后合并两个有序数组,基本思路是比较两个数组的最前面的数,谁小就先取谁,取了后相应的指针就往后移一位。然后再比较,直至一个数组为空,最后把另一个数组的剩余部分复制过来即可。def merge_sort(alist): if len(alist) <= 1: ...
2019-11-23 19:19:46
102
原创 希尔排序和快速排序
一、希尔排序希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。基本思想是:将数组列在一个表中并对...
2019-11-20 22:41:40
624
原创 栈、队列、双端队列
一、栈结构实现class Stack(object): """栈""" def __init__(self): self.items = [] def is_empty(self): """判断是否为空""" return self.items == [] def push(self, item): ...
2019-11-19 19:45:58
149
原创 单向链表
单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节点,而最后一个节点的链接域则指向一个空值。(1)表元素域elem用来存放具体的数据。(2)链接域next用来存放下一个节点的位置(python中的标识)(3)变量p指向链表的头节点(首节点)的位置,从p出发能找到表中的任意节点。#节点实现class Sing...
2019-11-18 23:05:05
94
原创 Python中的顺序表
list的基本实现技术Python标准类型list就是一种元素个数可变的线性表,可以加入和删除元素,并在各种操作中维持已有元素的顺序(即保序),而且还具有以下行为特征:基于下标(位置)的高效元素访问和更新,时间复杂度应该是O(1);为满足该特征,应该采用顺序表技术,表中元素保存在一块连续的存储区中。允许任意加入元素,而且在不断加入元素的过程中,表对象的标识(函数id得到的值)不变。为满足...
2019-11-17 17:18:50
162
原创 算法概念
一、算法的提出:算法是计算机处理信息的本质,因为计算机程序本质上是一个算法来告诉计算机确切的步骤来执行一个指定的任务。一般地,当算法在处理信息时,会从输入设备或数据的存储地址读取数据,把结果写入输出设备或某个存储地址供以后再调用。算法是独立存在的一种解决问题的方法和思想。对于算法而言,实现的语言并不重要,重要的是思想。算法可以有不同的语言描述实现版本(如C描述、C++描述、Python描述...
2019-11-17 09:46:21
254
原创 Python中的SQLite一些操作
一、多线程之_thread模块#单线程>import time>def worker():> print(f'函数执行开始于:{time.ctime()}')> time.sleep(n)> print(f'函数执行结束于:{time.ctime()}')>def main():> print(f'主函数执行开始于:{ti...
2019-11-11 22:36:05
108
原创 正则表达式相关知识
一、正则表达式(一种文本模式,描述在搜索文本时要匹配的一个或多个字符串)典型场景:数据验证;文本扫描;文本提取;文本替换;文本分割语法:特殊符号与字符二、..findall():查找所有非重复匹配项;返回list.math(string[,pos[,endpos]]):匹配,仅从起始位置;返回MathObject.search(string[,pos[,endpos]]):任意位置搜索...
2019-11-06 08:25:54
99
原创 持久化基础知识
一、持久化概述对象持久化—扁平文件/pickle/shelve/数据库/ORM(一)扁平文件(文本文件)(二)pickle/# 序列化为字符串>import pickle>person={'name':'Tom','age':28}>s=pickle.dumps(person) # s是字符串:将对象序列存储为字符串>p=pickle.loads(s) ...
2019-11-04 22:08:56
115
原创 异常处理
一、异常处理及测试错误类型:(1)语法错误 ,会出现syntax error(2)语义错误,zerodivisiomerror(3)逻辑错误,可用try except处理>try:> x=5/0> print(x)> except ZeroDivisionError as e:> print('不能除零',e)> except:>...
2019-11-04 20:59:25
126
原创 面向对象编程实例
一、面向对象编程特征:1、封装2、继承3、多态例子:>class Book:> count=0 #不要有self,因为count不是依附于某个对象> def __init__(self,title,price=0.0,author=None):> self.title=title> self.pricep=price>...
2019-11-02 09:17:34
360
原创 模块【import 和from模块import】的区别
一、包与模块管理模块:把一些功能逻辑写进后缀为.py的脚本文件#模块使用:比如我们已经有了models.py文件>>>import models #可以调用models.py 中的函数.其中page为models中的变量>>> from models import page(一)import和 from import 的区别#使用import ...
2019-10-31 23:06:29
334
原创 lambda相关知识
一、Lambda表达式:(定义匿名函数)lambda是一个表达式,而不是一个语句。通常来说,lambda起到了一种函数速写的作用,允许在使用的代码内嵌入一个函数的定义。它们完全是可选的,但是在你仅需要嵌入小段可执行代码的情况下它们会带来一个更简洁的代码结构。基本格式: lambda参数1,…:>>>f=lambda name:print(name)>>>...
2019-10-31 21:05:51
161
原创 迭代的一些操作
一、迭代迭代协议:–next–(),迭代器和for循环的区别在于,迭代器占用内存空间较小,for循环遍历列表,所占内存空间很大。>>>f=open('data.txt',encoding='utf8')>>>f.next__()>#显示一行>>>f.next__()>#显示下一行#可用全局函数next()代替__ne...
2019-10-30 07:45:22
193
原创 序列赋值和循环
一、序列赋值>>>a,b,c='uke'>>>a'u'#下列这种情况字符串超过变量个数,会报错>>>a,b,c='ujhsdjd'>>>a出错#修改(用列表切割)>>>s='ujhsdjd'>>>a,b,c=s[0],s[1],s[2:]#更好的方式(扩展序列解包赋值)...
2019-10-29 23:24:21
295
原创 数据类型(字典)
一、字典表(一)赋值(二)检索键值(三)增加、删除(四)嵌套(五)排序方法1(按键的顺序排列):将键取出转为列表,再用列表排序:方法2:用sorted()二、元组...
2019-10-29 21:12:41
166
原创 数据类型(数值、字符串和列表)基础知识
首先区分函数和方法:在C和C++中方法会被称为函数,在Python中,函数指全局函数,不依附于某个对象;方法是只能依附于某个对象才能使用。如:函数len()和 .split()。其中 .split()这个方法只能依附于字符串来使用。一、数值(一)、在这主要学会取整。方法和函数包括:正向取整:math.floor() ; 往“0”移取整:math.trunc() ; 四舍五入:round...
2019-10-25 23:07:16
434
原创 Python变量类型及变量地址问题
一、变量类型:C、C++语言在程序中得先声明变量,如:int a,b;如果不声明,则程序无法识别该变量类型,程序会出错。C和C++是先声明变量,确定该变量类型,才能为变量赋值。且该变量类型已经确定。而在Python中,无需声明变量。且变量类型不需要提前声明。变量类型由对象决定,且类型在程序中可多次变化。二、变量地址:首先,判断变量的字面值(数值)是否相等可用:==来判断,如:a=1...
2019-10-25 00:17:55
609
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人