自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 【超全面!Python10种面试排序方法总结】

将面试中常见的10种排序方法用python进行分组总结归纳

2023-02-02 18:39:21 164

原创 Python经典排序方法总结

冒泡排序def bubble_sort(nums): for i in range(len(nums)-1): for j in range(len(nums)-i-1): if nums[j] > nums[j+1]: nums[j], nums[j+1] = nums[j+1], nums[j] return numsnums = [3,6,4,2,11,10,5]bubble_sort(nums)选择排序思想: 每次都从未排序的序列中选择一个最小的数放在已排序

2021-10-12 16:39:38 173

原创 第三周:浅层神经网络(概述、NN表示、计算一个NN的输出)

第三周:浅层神经网络(Shallow neural networks)3.1神经网络概述(Neural Network Overview)  在深入学习具体技术之前,将快速浏览一下如何实现神经网络。上一周讨论了逻辑回归,了解了如下模型(图3.1.1)如与公式3.1建立联系。  图3.1.1公式3.1:xwb}=>z=wT+b\left. \begin{array}{l} x \\ w \\ b \\ \end{array} \right\} = > z = w^T

2021-03-16 11:42:13 426

原创 numpy快速入门教程2

NumPy中的基本数据类型取值范围名称描述bool用一个Bit存储的布尔类型(True或False)inti由所在平台决定其大小的整数(一般为int32或int64)int8一个字节大小,-128 至 127int16整数,-32768 至 32767int32整数,-2 ** 31 至 2 ** 31 - 1int64整数,-2 ** 63 至 2** 63 - 1uint8无符号整数,0 至 255uint16无符号整数,0

2021-03-14 11:03:33 219

原创 numpy快速入门教程1

数组概念  NumPy的主要对象就是同类型的多维数据。它是一张表,所有元素(通常是数字)。在NumPy中,维度称为轴,轴的数目为rank。  NumPy的数组的类称为ndarray,别名array。  numpy.array与Python标准库的类array.array不同,后者仅处理一维数组并提供较少功能。数组属性  ndarray对象的更重要的属性是:ndarray.ndim  数组的轴(维度,dimensionality)的个数。在Python的世界中,维度的数量被称为rank。nd

2021-03-02 20:45:26 158

原创 第二周:神经网络的编程基础 1(二分类、逻辑回归、逻辑回归的代价函数)

第二周:神经网络的编程基础 (Basics of Neural Network programming)2.1二分类(Binary Classification)  逻辑回归是一个用于二分类的算法。假如你有一张图片作为输入,比如这只猫,如果识别这张图片为猫,则输出标签 1 作为结果;如果识别出不是猫,那么输出标签 0 作为结果。现在我们可以用字母????来表示输出的结果标签,如下图所示:  我们来看看一张图片在计算机中是如何表示的,为了保存一张图片,需要保存三个矩阵,它们分别对应图片中的红、绿、蓝三

2021-03-01 18:21:49 1639

原创 re模块中其他常用的函数(sub、subn、compile、findall、finditer、split),贪婪模式与非贪婪模式

re 模块中其他常用的函数sub 和 subn 搜索与替换  sub 函数和 subn 函数用于实现搜索和替换功能。这两个函数的功能几乎完全相同,都是 将某个字符串中所有匹配正则表达式的部分替换成其他字符串。用来替换的部分可能是一个 字符串,也可以是一个函数,该函数返回一个用来替换的字符串。sub 函数返回替换后的结果,subn 函数返回一个元组,元组的第 1 个元素是替换后的结果,第 2 个元素是替换的总 数。语法格式如下:re.sub(pattern, repl, string, count=0,

2021-02-27 09:52:53 1098

原创 正则表达式-search匹配、分组操作

search方法  search 在一个字符串中搜索满足文本模式的字符串。语法格式如下:re.search(pattern, string, flags=0)  函数参数与 match 方法类似,如下表所示:search函数参数说明参数描述pattern匹配的正则表达式string要匹配的字符串flags标志位,用于控制正则表达式的匹配方式,如:是否区分大小写、多行匹配等【示例】search方法的使用import rem = re.match('a

2021-02-27 08:59:05 2639

原创 正则表达式-重复、非重复数量限定符的使用、原生字符及边界字符的使用

表示数量(匹配多个字符)【示例】匹配手机号码print('---------电话号码-----------') #pattern='\d\d\d\d\d\d\d\d\d\d\d'#匹配手机号pattern='1[35789]\d\d\d\d\d\d\d\d\d'#匹配手机号s='13456788789'v=re.match(pattern,s)print(v)  如果要匹配电话号码,需要形如“\d\d\d\d\d\d\d\d\d\d\d”这样的正则表达式。其中表现 了 11 次“\d”,表

2021-02-25 16:02:01 971 1

原创 正则表达式_常用字符的使用

常用字符的使用正则表达式中常用的字符符号描述.匹配任意一个字符(除了 \n)[]匹配列表中的字符\w匹配字母、数字、下划线,即 a-z, A-Z, 0-9, _\W匹配不是字母、数字、下划线\s匹配空白字符,即空格(\n, \t)\S匹配不是空白的字符\d匹配数字,即 0-9\D匹配非数字的字符【示例】常用匹配符的使用import re print('-----.的使用--------') pattern='.'

2021-02-25 11:05:25 150 1

原创 正则表达式_match方法使用

match方法   re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match() 就返回 None。语法格式如下:re.match(pattern, string, flags=0)   函数参数说明如下表:match函数参数说明参数描述pattern匹配的正则表达式string要匹配的字符串flags标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等。如下列出正则表达式修饰符 - 可选标志正则表

2021-02-25 10:29:33 2990 1

原创 正则表达式

正则表达式简介概念   正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑(可以用来做检索,截取或者替换操作)。   正则表达式用于搜索、替换和解析字符串。正则表达式遵循一定的语法规则,使用非常灵活,功能强大。使用正则表达式编写一些逻辑验证很方便,例如电子邮件地址格式的验证。   正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符)操作的一种逻辑公式,就是用事

2021-02-24 18:36:11 54

原创 偏函数

偏函数   Python的 functools 模块提供了很多有用的功能,其中一个就是偏函数(Partial function)。要注意,这里的偏函数和数学意义上的偏函数不一样。   偏函数是用于对函数固定属性的函数,作用就是把一个函数某些参数固定住(也就是设置默认值),返回一个新的函数,调用这个新的函数会更简单。   通过设定参数的默认值,可以降低函数调用的难度。而偏函数也可以做到这一点,举例如下:   int() 函数可以把字符串转换为整数,当仅传入字符串时,int() 函数默认按十进制转换,代

2021-02-24 15:29:35 329

原创 装饰器的基本使用(多个装饰器、带参数的装饰器、通用装饰器)

装饰器(Decorator)   在Python程序中,装饰器就是一种闭包,它可以使闭包的访问方式更简单。   例如有定义 fun1 和 fun2 函数,代码如下:def fun1(): print('功能1')def fun2(): print('功能2')   现在,假设我们要增强 fun1() 函数和 fun2() 函数的功能,比如,在函数调用之前自动打印日志,又不希望修改函数的代码,这种在代码运行期间动态增加功能的方式,称之为“装饰器”。   本质上,decorator 就是一个返

2021-02-24 11:43:16 411

原创 利用闭包求两点之间的距离 & 闭包的特殊用途(实现添加日志功能)

【示例】求两点之间的距离(传统方式实现)import mathdef getDis(x1,y1,x2,y2): return math.sqrt((x1-x2)**2+(y1-y2)**2) #分别求(1,1)和(2,2)到原点的距离print(getDis(1,1,0,0))print(getDis(2,2,0,0))【示例】求两点之间的距离(闭包方式实现)import math#使用闭包求两点之间的距离def getDisOut(x1, y1): def getDisIn(x2

2021-02-23 21:23:50 199 1

原创 匿名函数 & 闭包的定义与使用

匿名函数   在传入函数时,有时不需要显式地定义函数,直接传入匿名函数更为方便。   在Python中,对匿名函数提供了支持。计算 f(x)=x2时,除了定义一个 f(x) 的函数外,还可以直接传入匿名函数。使用 lambda 可以声明一个匿名函数。   lambda 表达式就是一个简单的函数。使用 lambda 声明的函数可以返回一个值,在调用函数时,直接使用 lambda 表达式的返回。使用 lambda 声明函数的语法格式如下。lambda arg1, arg2, arg3… :<表达式

2021-02-23 19:44:47 133

原创 函数式编程理解 & 高阶函数概念与使用

   函数是Python内建支持的一种封装,我们通过将大段代码拆成函数。通过一层一层函数调用,可以将复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计。函数就是面向过程的程序设计的基本单元。   函数式编程是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量。因此任意一个函数,只要输入正确,输出即正确,这种纯函数我们称之为没有副作用。而允许使用变量的程序设计语言,由于函数内部的变量状态不确定,同样的输入,可能得到不同的输出,因此这种函数是有副作用的。高阶函数   变量可以指

2021-02-23 15:43:58 239

原创 二叉树广度优先遍历(BFS) & 深度优先遍历(DFS)

二叉树的遍历   树的遍历是一种重要的运算。所谓遍历是指对树中所有节点信息的访问,即一次对树中每个接地访问一次且仅访问一次,将这种对所有节点的访问称为遍历(travelsal)。树的两种重要遍历模式是深度优先遍历(DFS)和广度优先遍历(BFS),BFS 一般用遍历,DFS一般用队列。一般情况下能用递归实现的算法大部分也可以用堆栈实现。广度优先遍历(层次遍历)...

2021-02-22 15:35:39 188

原创 二叉树的节点及树的创建

二叉树的基本概念   二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树的性质(特性)   性质1:在二叉树的第i层上至多有 2(i-1)个节点(i>0);   性质2:深度为 k 的二叉树至多有 2k-1 个节点;   性质3:对于任意一棵二叉树,如果其叶节点数为 N0,而度数为 2 的结点总数为N2,则N0=N2+1;   性质4:具有 n 个节点的完全二叉树的深度必为 log2(n+1) 

2021-02-21 15:50:57 1991 3

原创 树的概念

树的概念   树(tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。   树具有以下的特点:   (1)每个节点有 0 或 多个 子节点;   (2)没有父节点的节点称为根节点;   (3)每一个非根节点有且仅有一个父节点;   (4)除了根节点外,每个子节点可以分为多个不相交的子树;树的术语   (1)节点的度:一个节点含有的子树的个数(数节点的子节点数即可);

2021-02-21 10:17:41 212

原创 python—栈与队列

栈   栈(stack),亦称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指标,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。没有了位置的概念,保证任何时候可以访问、删除的元素都是此前最后一个存入的那个元素,确定了一种默认的访问顺序。   由于栈数据结构只允许在一端进行操作,因而按照后进先出(LIFO, Last in First Out)的原理运作。栈实现结构实现步骤:   (1) Stack()创建一个新

2021-02-19 18:51:58 92 1

原创 双链表定义&双链表基本操作

双向链表定义   在单链表之后,一种更复杂的链表是“双向链表”或“双面链表”。每个节点有两个链接:一个指向前一个节点(前驱),当此节点为第一个节点时,前驱指向None;另一个指向下一个节点(后继),当此节点最后一个节点时,后继指向None。【示例】节点实现#定义节点的类class Node(object): def __init__(self, elem): #定义元素值 self.elem = elem #定义后继(下一个节点标识) self.next = None #定义

2021-02-19 12:00:47 616

原创 单链表_节点定义&单链表基本操作

链表的引入链表    顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不灵活。    链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。链表的定义    链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据集,而是在每一个节点(数据存储单元)里存放下一个节点的位置信息(即地址)。单向链表   单向链表也叫做单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素

2021-02-18 12:06:47 5023

原创 数据结构简述

数据结构的引入   数据结构是一个抽象概念,将其分类后得到程序设计语言中的基本类型。如:int,float,char等。数据元素之间不是独立的,存在特定的关系,这些关系便是结构。数据结构指数据对象中数据元素之间的关系。   Python给我们提供了很多现成的数据结构类型,这些系统自己定义好的,不需要我们自己去定义的数据结构叫做Python的内置数据结构,比如列表、元组、字典。而有些数据组织方式,Python系统中没有直接定义,需要我们自己去定义这些数据的组织方式,这些数据组织方式称为Python的扩展

2021-02-17 11:13:18 114

原创 Python 排序 & 查询 算法小结

冒泡排序(Bubble Sort)比较相邻的元素。若第一个比第二个大(升序),就交换他们。对每一对相邻元素作同样的工作,从开始第一对到最后一对。该步完成后,最后的元素将是最大的数。针对所有元素重复以上步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。def bubble_sort(alist): n = len(alist) for k in range(n-1): count = 0 for i in range(n-1-k): if

2021-02-16 18:40:04 225 1

原创 python基础随记

列表基础添加和删除元素1.在列表末尾添加元素motorcycles = ['honda', 'yamaha', 'suzuki']print(motorcycles)#将元素添加至列表末尾motorcycles.append('ducati')2.在列表中插入元素使用方法 insert() 可在列表任意位置添加新元素(需指定元素索引和值)#insert()插入新元素motorcycles.insert(0, 'ducati')3.从列表中删除元素3.1 使用 del 删除元素(

2021-01-30 20:28:20 68

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除