python 学习总结
文章平均质量分 64
lovetaozibaby
这个作者很懒,什么都没留下…
展开
-
机器学习实战 | 深度学习初级项目学习和总结
准备写个系列博客介绍机器学习实战中的部分公开项目。首先从初级项目开始。本文对机器学习实战三个初级项目中涉及的神经网络算法以及基于Keras的神经网络语法进行总结。三个初级项目分别为:机器学习实战 | emojify 使用Python创建自己的表情符号(深度学习初级)机器学习实战 | MNIST手写数字分类项目(深度学习初级)机器学习实战 | 股票价格预测项目(深度学习初级)这三个初级项目中分别用了卷积神经网络CNN和长短期记忆神经网络LSTM。原创 2023-07-13 15:59:14 · 799 阅读 · 0 评论 -
机器学习实战 | MNIST手写数字分类项目(深度学习初级)
准备写个系列博客介绍机器学习实战中的部分公开项目。首先从初级项目开始。本文为初级项目第二篇:利用MNIST数据集训练手写数字分类。。机器学习实战 | emojify 使用Python创建自己的表情符号(深度学习初级)原创 2023-07-10 15:23:49 · 2160 阅读 · 0 评论 -
机器学习实战 | 股票价格预测项目(深度学习初级)
准备写个系列博客介绍机器学习实战中的部分公开项目。首先从初级项目开始。本文为初级项目第三篇:利用MNIST数据集训练手写数字分类。。机器学习实战 | emojify 使用Python创建自己的表情符号(深度学习初级)机器学习实战 | MNIST手写数字分类项目(深度学习初级)原创 2023-07-10 17:07:57 · 5245 阅读 · 7 评论 -
机器学习实战 | emojify 使用Python创建自己的表情符号(深度学习初级)
准备写个系列博客介绍机器学习实战中的部分公开项目。首先从初级项目开始。本文主要介绍机器学习项目实战之训练和创建自己的表情符号。。这个外文网址中的一些链接打不开,因此这里给出程序中用到的相关文件并且给出部分程序分析,希望能够帮大家从0构建深度学习项目。原创 2023-06-30 15:25:37 · 2424 阅读 · 5 评论 -
DL | 如何检测cv2.CascadeClassifier()是否加载了.xml文件
函数加载OpenCV级联分类器时,因为看不到加载后的数据类型,有时候不知道是否加载成功,可以用一下方法测试。原创 2023-06-13 17:33:25 · 204 阅读 · 0 评论 -
滤波算法 | 无迹卡尔曼滤波(UKF)算法及其Python实现
上一篇文章,我们介绍了UKF滤波公式及其MATLAB代码。在做视觉测量的过程中,基于OpenCV的开发包比较多,因此我们将UKF的MATLAB代码转到python中,实现数据滤波效果。UKF滤波公式及其MATLAB代码这里简单把上一篇文章的公式和流程图粘贴一下。原创 2023-03-10 18:08:10 · 6121 阅读 · 21 评论 -
位姿测量 | 正交迭代(OI)算法流程及其Python代码
接位姿测量 | 正交迭代(OI)算法的原理及其MATLAB实现,本文介绍正交迭代算法的python 代码实现。原创 2023-02-16 09:16:42 · 868 阅读 · 0 评论 -
python | 利用intersection求区域相交&利用mlt..Polygon绘制图形
本文的主要内容为:求两个形状的相交边界。用的函数为python自带的函数,输出为相交区域的轮廓点。画图用的是mlt中的Polygon函数,这个图形展示很有意思,可以在很多展示地方借鉴。python计算两个矩形的重叠,在Python中查找多个重叠矩形的相交区域。转载 2022-09-30 14:32:44 · 1957 阅读 · 0 评论 -
Python | nonlocal 和 global的区别
1)任何一层子函数,若直接使用全局变量且不对其改变的话,则共享全局变量的值;一旦子函数中改变该同名变量,则其降为该子函数所属的局部变量;2)global可以用于任何地方,声明变量为全局变量(声明时,不能同时赋值);声明后再修改,则修改了全局变量的值;3)而nonlocal的作用范围仅对于所在子函数的上一层函数中拥有的局部变量,必须在上层函数中已经定义过,且非全局变量,否则报错。...转载 2022-08-16 11:37:34 · 334 阅读 · 0 评论 -
Python | python 中 f‘{}‘字符串的用法
在字符串中插入变量的值,可在前引号前加。来创建消息,再把整条消息赋给变量.,再将要插入的变量放在花括号内。转载 2022-07-27 11:57:49 · 6980 阅读 · 0 评论 -
Python | 缩写for循环和if else语句的办法
如何嵌套了ifelse语句到for循环中原创 2022-07-19 13:29:48 · 1171 阅读 · 0 评论 -
Python| itertools之pairwise:获取连续的重叠对
简介最近刷力扣好几次都遇到了pairwise这个函数,感觉还挺方便的,今天又遇到后,搜索了一下他的含义及其用法。总结如下。参考网址:「Python」Python 标准库之 itertools 使用指南PS:这个文章关于itertools库的总结很详细。码住。1. itertools.pairwise()首先,这个函数是Python 3.10 新特性。它表示的是一个迭代器(有点废话,itertools里面都是各种迭代器),他的含义是,从对象中获取连续的重叠对。比如说:s= ‘abcde’,i原创 2022-05-17 11:18:04 · 11982 阅读 · 3 评论 -
Python | pytest in ***.py 简单介绍
简介在昨天跑了一个测试案例,发现右键可以选择:Run pytest in ***.py,而有一些文件右键时只有Run ***.py,于是今天简单看了一下pytest 的用法及原因。以下内容为转载内容,原文地址为:pytest基础知识一pytest介绍pytest是Python的一款单元测试框架,在学习自动化测试过程中,我们最开学习的都是线性脚本,但是当学到一定阶段以及业务复杂度和数据量上来后,我们必须需求一种全新的框架思维来管理和规范我们的测试脚本,从而实现高类聚低耦合的理念。pytest文件和函转载 2022-05-06 14:27:04 · 955 阅读 · 0 评论 -
Python | 从列表或矩阵中选择某个符合条件的数据
简介~~有一个神奇的事情,我看过很多人用a[a<3]这样的语法来筛选数据,但是每次我用的时候都会报错~直到今天,我仔细调试了一下才发现,该语句是有适用范围的。比如说:矩阵可以用,但列表不可以。下面做几个小的演示。测试程序l = [1,2,3,4,5] #测试列表l[l<3] # 语句不会通过,会报错l_n = np.array(l)l_n[l_n<3] # 输出:[1, 2]总结矩阵适用该语句l_n[l_n<3]列表不适用若要寻找列表中满足条原创 2022-05-06 11:24:54 · 2277 阅读 · 0 评论 -
数据结构 | 栈之单调栈
文章目录简介定义算法1. 单调递增栈步骤作用python程序2. 单调递减栈作用python程序简介单调栈,可以用来优化时间复杂度,是个利器。定义单调栈,顾名思义,是一个单调的栈。栈内元素一般都是无序的,如何保持栈内元素是有序的呢?接下来,我们进行分析。单调栈分为单调递增栈和单调递减栈,通过使用单调栈我们可以访问到下一个比他大(小)的元素。什么时候使用单调栈?通常是一维数组,要寻找任一元素右边(左边)第一个比自己大(小)的元素,且要求 O(n) 的时间复杂度算法单调递增栈:从 栈底 到 栈转载 2022-03-04 14:55:46 · 824 阅读 · 0 评论 -
python | 字符串前加r‘‘, b‘‘, u‘‘, f‘‘ 的含义
文章目录1. 字符串前加r2. 字符串前加f3. 字符串前加 b4. 字符串前加 u1. 字符串前加rr" " 的作用是去除转义字符.即如果是“\n”那么表示一个反斜杠字符,一个字母n,而不是表示换行了。以r开头的字符,常用于正则表达式,对应着re模块。示例:str1= 'input\n'str= r'input\n'print(str1) print(str)输出:2. 字符串前加ff"{a+b}" 的作用是去除转义字符.表示在字符串内支持大括号内的python 表达式。示例转载 2022-02-25 10:45:29 · 755 阅读 · 0 评论 -
Python | bisect 模块常用函数
bisect是 python 的内置模块,主要用来排序。常用函数:bisect.bisect 系列返回的是插入索引的位置bisect.bisect(a, x, lo=0, hi=None)bisect.bisect_left(a, x, lo=0, hi=None)bisect.bisect_right(a, x, lo=0, hi=None)bisect.insort 系列返回的是插入排序后返回的新的有序列表bisect.insort(a, x, lo=0, hi=None)bisect转载 2022-02-16 19:13:58 · 766 阅读 · 0 评论 -
LeetCode| 大数求余:即答案对1e9+7(1000000007)取模原因、方法总结
大数求余原因:大数越界大数越界:随着n增大,f(n)会超过Int32甚至Int64的取值范围,导致最终的返回值错误。当一个问题只对答案的正确性有要求,而不在乎答案的数值,可能会需要将取值很大的数通过求余变小。求余运算规则:设正整数x,y,p,求余符号为⊙。对于加法运算: (x+y)⊙p = (x⊙p+y⊙p)⊙p对于乘法运算: (xy)⊙p = [(x⊙p)(y⊙p)]⊙p以防x,y本身就超出int32范围,可以创建一个long型变量tmp保存临时结果。...转载 2022-02-16 19:07:50 · 1714 阅读 · 0 评论 -
数据结构 |一维列表的一些常见处理
文章目录简介1. 查找列表中某个数据的索引:index4. 颠倒列表:reverse5. 统计指定值在列表中出现的次数:count2. 将两个列表加一起:append、extend、insert3. 删除列表:del, remove,pop简介。。。写力扣时,经常会遇到查找某个数据在列表中的位置这样常见的操作,然而我总是记不住!记录下来,以备下次再遇到。。还得费时费力的去百度。。参考网址:查找列表中某个值的位置(python)——这个网址可能是时间太久了,写的有点乱。。。但是内容很实用。1.转载 2022-02-16 19:03:41 · 472 阅读 · 0 评论 -
LeetCode | 深度优先搜索(递归和非递归)
文章目录简介深度有限搜索DFS1. 递归结构2. 非递归结构DFS非递归结构和BFS的区别简介~~在学习广度优先搜索BFS之前,我觉得深度优先搜索DFS写起来非常简单:递归递归递归。然而只有七秒钟记忆的我,在学习了广度优先搜索,最关键是学会了BFS的模板(python | 广度优先搜索模板)后,竟然忘了深度优先是怎么做的了~此篇博客做一个系统的不尽详细的总结~深度有限搜索DFS1. 递归结构什么是递归?简单来说,就在一个函数中调用自己。DFS算法实现最常用的就是递归,导致我之前一直不知道还转载 2022-02-16 10:51:17 · 2804 阅读 · 0 评论 -
数据结构 | 二维列表的一些操作:求维度,取行/列(zip)
文章目录二维列表的一些简单操作二维列表取列二维列表的一些简单操作二维列表求维度,取行:matrix = [[1, 2, 3], [4, 5, 6]]# 求维度:行m=2;列n=3m,n = len(matrix), len(matrix[0])# 取行for i in range(m): a = matrix[i] # 第i行 二维列表取列二维列表取列和二维矩阵(numpy)不同。如果是列表(list)形式,matrix[i][0]表示二维列表的第i行的第一个数;如果是矩阵(原创 2022-02-15 10:53:40 · 2538 阅读 · 0 评论 -
LeetCode | 环形链表之双指针法
文章目录力扣题目解法1. 求解环形链表之快慢指针算法流程复杂度分析视频理解2. python 程序力扣题目题目:第142. 环形链表 II解法这类链表题目一般都是使用双指针法解决的,比如:寻找距离尾部第K个节点寻找环入口寻找公共尾部入口…1. 求解环形链表之快慢指针算法流程复杂度分析时间复杂度O(N)第二次相遇中,慢指针须走步数 a < a + b;第一次相遇中,慢指针须走步数 a + b - x < a + b,其中 x 为双指针重合点与环入口距离转载 2021-12-24 16:22:33 · 359 阅读 · 0 评论 -
数据结构 | 二叉树遍历系列总结
文章目录简介二叉树1. 递归2. 迭代3. 莫里斯遍历4.N叉树遍历简介从力扣看到的二叉树操作总结,感觉写的不错,总结如下。原网址:~~~~名字随便起一个吧哈哈哈二叉树二叉树定义:# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = No转载 2021-12-10 12:02:00 · 384 阅读 · 0 评论 -
python | 广度优先搜索模板(BFS+层次遍历)
转载自:套路大解密:搞懂题目考察什么,剩下的任务就是套模板!如果你经常在想为什么别人做题那么快,其实答案很简单:一是要快速明白过来这个题在考察什么,这需要对常用的数据结构和算法的适用场景很熟悉;二是要背模板!没错,大神也需要背模板!当然,是理解着背,不是死记硬背!下面,我就按照这个思路给大家展示,如何快速解决这个题。这个题想考察什么?虽然题目千变万化,但是考察点永远是那几个。本题给出了一个场景:求 每个 1 到 0 的最短的曼哈顿距离。其中曼哈顿距离就是只能沿着横、竖到达另外一个点走的步数。在一转载 2021-11-25 14:49:31 · 897 阅读 · 0 评论 -
python | 字符串拼接.join()和拆分.split()
文章目录1. 字符串拆分函数`.split()`2. 字符串拼接函数`.join()`扩展:理解`" ".join(s.split(" ")[::-1])[::-1]`1. 字符串拆分函数.split()按照空格拆分字符串:s = "fd as sf"res = s.split(" ")print(res)返回值为:['fd','as','sf']备注:s.split(" ")常见于拆分一句话中的单词。拆分后的返回值为list类型!2. 字符串拼接函数.join()按照空格(可以原创 2021-11-22 21:45:25 · 2742 阅读 · 0 评论 -
Python | 集合(set)运算之intersection()
简介在做力扣题的时候,有一个思路是要求解两个字符串的交集。一般来说,求解交集的思路是遍历两个字符串,判断有无相等,有相等则添加到交集中,直到循环结束。但是这样做,会增加很多的不必要的遍历:比如说,当一个字符串中有多个相同的元素时,该元素会被遍历多次。因此,在求解时,我们可以先将字符串转换为set集合类型。集合中存储的元素没有顺序,且互异(即元素不可重复)。算例求字符串m“abcdaaa” 与 字符串n“bcddses”是否存在交集首先将字符串转换为set类型:m = set(m)n原创 2021-11-17 11:46:45 · 9828 阅读 · 0 评论 -
python | Collections 包的几个常见用法
简介之前都没很在意过collections这个模块,以为有很多复杂的功能,所以只考虑了defaultdict一个用法。没想到今天做力扣的时候,看官方解答中Counter也是属于collections模块,这么看这个还是很不错的。写个总结,以备以后快速检索。PS:发现这个博客写的很详细啊,有不懂的可以去看看:Python常用数据结构之collections模块总结Counter从名称就能看出来,Counter是计数器,可以对字符串,列表,字典实现计数功能。示例程序:from collectio原创 2021-10-30 12:08:15 · 758 阅读 · 0 评论 -
数据结构 | 双向链表学习总结
双向链表学习总结简介双向链表数据结构力扣第430题:扁平化多级双向链表简介摘自:通俗易懂讲解 链表单向链表:双向链表:看图理解吧。。。双向链表数据结构摘自:数据结构-双向链表(Python实现)数据结构在编程世界中一直是非常重要的一环,不管是开发还是算法,哪怕是单纯为了面试,数据结构都是必修课,今天我们介绍链表中的一种——双向链表的代码实现。双向链表:class Node: def __init__(self, data): self.data = data转载 2021-09-24 11:36:47 · 612 阅读 · 0 评论 -
python | defaultdict用法详解
文章目录简介力扣第36题题目分析1. 双重遍历,按每个条件查找2. 遍历一次,记录每个元素出现的次数总结defaultdict与普通的字典的区别如何使用defaultdict简介今天做力扣每日一题,判断是否是有效的数独时,按照每个条件查找一次的情况来分析,耗时较长。从官方题解中看到这样一句话,可以分别按照三种情况(判断数独是否合理的三个条件)有效的保存每个元素出现的次数。记录并学习一下它的用法。record = {0: defaultdict(set), 1: defaultdict(set),原创 2021-09-17 11:49:07 · 2009 阅读 · 0 评论 -
Python | 关于 dic.sort(key=lambda x: (-len(x), x))的理解
目录简介用法分析**.sorted()的一些用法简介在力扣第524题:通过删除字母匹配到字典里最长单词的官方答案中,遇到了这样一句话: dictionary.sorted(key=lambda x: (-len(x), x))分析说是将dictionary这个字典,先按照长度从大到小排序,如果长度相同的情况下,按照字母大小排序(ASCII编码顺序)。这句话其实看到过很多次,但是都没有仔细理解过其含义。这里做一下总结和备份。备注:这里附录一下力扣第524题以及程序。问题:原创 2021-09-15 11:33:35 · 4462 阅读 · 2 评论 -
LeetCode | 1221. 分割平衡字符串——贪心算法
文章目录1. LeetCode第1221题.分割平衡字符串问题1)逻辑判断2)贪心算法2. 贪心算法相关介绍什么是贪心算法求解思路存在的问题实现框架1. LeetCode第1221题.分割平衡字符串问题在一个 平衡字符串 中,‘L’ 和 ‘R’ 字符的数量是相同的。给你一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串。注意:分割得到的每个字符串都必须是平衡字符串。返回可以通过分割得到的平衡字符串的 最大数量 。示例:输入:s = “RLRRLLRLRL”输出:4解释:s 可以原创 2021-09-07 11:08:45 · 2544 阅读 · 0 评论 -
数据结构 | 单向链表学习总结
文章目录简介总结链表介绍链表定义链表函数计算链表的长度将列表转换为链表LeetCode:剑指 Offer 22. 链表中倒数第k个节点简介今天打开力扣每日一题,遇到一个新的数据结构:链表。本来每次力扣做题我都是在我自己的本地python调试,调试好后才提交到网上。但是今天遇到一个问题:力扣的测试用例写的是:[1,2,3,4,5],我在写测试用例的时候,也写了:input = [1,2,3,4,5],但是官方的程序竟然都通不过。后来查找问题的时候才意识到,如果我以input = [1,2,3,4,5]原创 2021-09-02 21:07:30 · 3803 阅读 · 0 评论 -
Debug | 修改字符串指定位置的值(python)
报错测试程序s = 'abc's[0] = 'c' # 修改字符串指定位置的值报错:TypeError: ‘str’ object does not support item assignment原因:python里的str是不可变对象,因此不能修改一个字符串。要想修改字符串中某个位置的值,只能将字符串转换为别的数据类型。解决办法将字符串转换为列表,利用列表修改后,再转换为字符串。字符串转换为列表的方法:s = 'ab' # s为字符串l = list(s) # l为列表: ['原创 2021-08-19 19:59:34 · 1930 阅读 · 0 评论 -
Python | np.dot() / np.multiply() / np.matmul()
转载自:np.dot()、np.multiply()、np.matmul()方法以及*和@运算符的用法总结总结:总结一下python中这np.dot() / np.multiply() / np.matmul() 这三个程序的用法。当进行向量的内积运算时,可以通过np.dot()当进行矩阵的乘法运算时,可以通过np.matmul()或者@当进行标量的乘法运算时,可以通过np.multiply()或者*...转载 2021-06-21 17:44:06 · 369 阅读 · 0 评论 -
python | 将一个(m,)的数据转换为(m,1)或者(1,m)
简介在我们编写程序的时候,肯定会遇到过因为(3,)数据和(3,1)数据结构不同而无法一起处理的情况。这其中的区别是,一个是一维数组,一个是二维数组。在调用的时候,二维数组可以用:matrix[i,j],但是一组数组不行。比如说:list = [1,2,3]m = np.array(list)"""此时如果用m[0,0]来获取1的数值就是错误的;只能用m[0]"""将一个(m,)的数据转换为(m,1)或者(1,m)有两种简单的方法。方法1. np.reshape()最简单的用原创 2021-05-19 17:22:37 · 1786 阅读 · 0 评论 -
Python | OpenCV画图显示为一个全黑画布的情况
问题之前写过一个博客:Python | 关于OpenCV和plt画图中数据类型不为unit8的问题介绍当OpenCV和plt画图不为uint8的时候,怎么转换为Uint8.但是之前只知道应该转换为Uint8,不知道为什么要转换。所以今天画图时,忽略了这个问题,又导致程序出错了。出错的问题是:我读取了通过D435i相机保存的深度数据,然后像用OpenCV显示整个数据。程序: cv2.imshow('depth_image',depth_image) # 深度图(2D) cv2.w原创 2021-03-31 14:22:06 · 5256 阅读 · 5 评论 -
python | uint8 & uint16 数据类型转换导致的数据变化
简介。。。写这篇博客,主要是想嘲笑一下,曾经“鄙视”过别人的自己。Why?在我想着去寻找uint8/uint16/float32数据类型的区别前,我已经花了两天的时间在代码调试上。说来也不长,就几百行的代码,我瞅了两天,硬是没看到错在哪里。。。毕竟,能写下这个题目的时候,我已经是知道了问题出在哪里。调试最怕的就是,程序也没有报错,但是就是和你认知的数据不对,最怕不知道问题出在哪里。哎。不说了,直接上问题吧。问题及解决办法稍微有点常识的都知道,OpenCV在显示图像(矩阵)的时候,要求矩阵原创 2021-03-30 18:18:06 · 15733 阅读 · 4 评论 -
Debug | plt.imshow报错:Colormap * is not recognized. Possible values are: Accent & figure & pause语句的使用
文章目录报错 : plt.imshow()原因分析 & plt.figure()语句的使用示例程序扩展:plt.pause()报错 : plt.imshow()使用plt.imshow(image, 'image') 语句时,报错如下:原因分析 & plt.figure()语句的使用用plt.imshow(image, 'image') 这句话主要是想实现画“image”的图并且以“image”为图像命名。因为在绘制的过程中出现了不止一个图像。通过分析报错的结果可以发现,plt.原创 2021-03-30 11:19:45 · 1461 阅读 · 0 评论 -
Python | D435i相机渲染深度图时所用到的cv2.convertScaleAbs() & cv2.applyColorMap() 函数
介绍在使用D435i相机读取和显示深度图的时候,看到程序中有这么一句话: depth_colormap = cv2.applyColorMap(cv2.convertScaleAbs(depth_image, alpha=0.03), cv2.COLORMAP_JET)就很奇怪,depth_image 明明是2维数据,但经过该程序转换后,得到了一个3D数据。而且里面的数据大小也变了。官方备注该程序为:渲染图像。但是这个“渲染”,本身已经是一个很大的领域了,在各种基于3D模型的目标原创 2021-03-29 22:29:32 · 1918 阅读 · 0 评论 -
python | 关于OS用法的总结
文章目录简介函数输出文件夹中的文件名:os.walk()路径拼接函数:os.path.join()简介想写一个关于OS包用法的总结。很多程序里都会调用OS,用了这么久了,每次需要自己写的时候,还得重新花时间寻找各个函数的用法、哪个函数符合我们的需求,费时费力。以此总结OS常见的用法,如有需要会继续更新。函数输出文件夹中的文件名:os.walk()参考网址:Python os.walk() 方法os.walk()方法用于通过在目录树中游走,输出在目录中的文件名,向上或者向下。常用的pytho原创 2021-03-09 20:38:27 · 876 阅读 · 0 评论