python
桉夏与猫
啥啥啥?这都是啥?
展开
-
使用python判断列表中是否全部为空字典
目前项目中遇到过这种情况,需要判断一个列表中是否全部为空字典,如[{},{},{},{},....],当遇到这种情况就不再处理,因此需要对这种类型的列表进行识别。方法:not any(l)使用not any函数,由于any是当列表中有一个为真,则为真,对其取反即可得到,当列表中的元素全部不为真的时候,为真,能够解决该问题。...原创 2022-04-21 14:54:29 · 1680 阅读 · 0 评论 -
Linux查看Nvidia显卡型号
一般查看显卡型号时,使用下面的命令:lspci | grep -i nvidia但是显示出来的内容可能不能看出来到底是什么显卡。比如第一张显卡2208型号方法一这时候可以使用下面的网址进行查询:PCI Devices网址输入型号2208,可以查看到结果为:方法二:nvidia-smi -L 以上命令可以直接查看显卡型号...原创 2022-03-25 17:25:35 · 31719 阅读 · 0 评论 -
Python加速库Numba
1、Numba库介绍Numba是一款可以在运行时把python函数编译为机器码的JIT编译器。经过Numba编译的python代码(仅限数组运算),其运行速度可以接近C或FORTRAN语言。普通python语言靠CPython编译的,但是Numba使用Jit编译器可以直接将一个函数转化为机器码。用于提升数组运算速度。Numba最初是由开发Anaconda的Continuum Analytics开发的。2、Numba库的安装 pip install numba3、Numb原创 2022-03-25 16:36:54 · 3535 阅读 · 0 评论 -
python迭代器(Iterator)
背景:在python中,有很多对象都可以通过for循环来对其中的每一个元素进行访问,比如list、dict、string等,这些对象被称为可迭代对象。什么是迭代器迭代器(Iterator)是访问集合内元素的一种方式,提供了一种遍历序列对象的方法。用来迭代操作对象,可以像列表一样,迭代的获取其中的每一个元素,任何实现了__next__方法的对象,都可以称之为迭代器。迭代器的特点__iter__方法返回迭代器本身;next()方法返回容器的下一个元素当没有下一个元素时,会报出St原创 2022-01-11 11:07:46 · 8677 阅读 · 1 评论 -
Python 自动打包生成当前项目依赖包文件(requirement.txt)
#进入到项目最外层,在控制台输入pip freeze > requirements.txt接着在当前目录会生成一个requirements.txt,里面就是当前项目所有依赖的包以及版本。把这个requirements.txt移动到新的环境中,输入pip install -r requirements.txt就可以安装所有依赖的包注意:包安装的过程中仍可能因为网络原因和其他原因导致安装不成功...这个只能自己手动来查看哪些包没有安装成功。...原创 2022-01-06 10:35:39 · 1413 阅读 · 0 评论 -
python中heapq模块(堆算法)
目录python中堆的特征heapq模块使用heappush创建堆将列表转化为最小堆将元素压入堆从堆中弹出元素使用heapplace弹出元素的同时压入新的元素找出最大或最小的多个元素python中堆的特征堆(heap)是一种特殊的树形结构,通常以完全二叉树的形式进行组织,根节点的值小于等于该节点所有子节点的值。注意:在python中的heapq默认是最小堆!特点:1、可以以任意顺序添加对象2、可以随时找出最小元素,并执行其他操作(删除等).原创 2022-01-05 10:22:47 · 2018 阅读 · 0 评论 -
python编程技巧
1、统计列表中元素的频率:可以直接使用collections的Counter进行统计,不必自己手动去编写from collections import Countertest_list = [1,1,2,2,3,3,3,4,5,5]print(Counter(test_list))print(type(Counter(test_list)))Counter({3: 3, 1: 2, 2: 2, 5: 2, 4: 1})<class 'collections.Counter'&g原创 2021-12-23 16:36:42 · 879 阅读 · 0 评论 -
Anaconda常用命令
1、Linux系统下如何使用Anaconda步骤一:进入Anaconda Promp打开终端,cd 进Anaconda下的bin目录,使用以下命令进入conda activate退出使用conda deactivateconda deactivate2、Anaconda中查看所有的python环境conda info --env3、Anaconda中创建新的python环境注意:--name后面写上新的环境的名称,并标明使用的python版本conda cre原创 2021-10-09 16:16:28 · 2979 阅读 · 0 评论 -
算法设计——分治算法
2.3二分搜索def BinarySearch(my_list,x): left =0 right = len(my_list) while left<=right: middle = (left+right)//2 if x==my_list[middle]: return middle elif x>my_list[middle]: left = middle+1原创 2021-07-05 22:54:20 · 97 阅读 · 1 评论 -
python技巧——列出列表(集合)中的所有子集的方法总结
问题定义:给定一个列表a=[1,2,3,4],请获取它的所有子集,即获取[[], [1], [1, 2], [1, 2, 3], [1, 2, 3, 4], [1, 2, 4], [1, 3], [1, 3, 4], [1, 4], [2], [2, 3], [2, 3, 4], [2, 4], [3], [3, 4], [4]]原创 2021-06-21 14:06:14 · 7783 阅读 · 2 评论 -
在Python3中提示报错:name ‘reload’ is not defined
在python2中,有下面一段代码#重新加载sys模块,并设置默认编码utf-8reload(sys)sys.setdefaultencoding("utf-8")在Python 3中运行提示:name ‘reload’ is not defined解决方案:python 3下应该改为如下方式:import importlibimportlib.reload(sys)注意: python3下不需要sys.setdefaultencoding(“utf-8”),默认编原创 2021-05-27 09:58:01 · 555 阅读 · 0 评论 -
Python列表操作小技巧
持续更新1、List中元素两两组合通过使用itertools库,可以实现把一个列表里面的元素两两组合(不包括自己与自己的组合):import itertoolsmy_list = ['a','b','c','d']for pair in itertools.permutations(my_list,2): print(pair)('a', 'b')('a', 'c')('a', 'd')('b', 'a')('b', 'c')('b', 'd')('c', 'a'原创 2021-05-17 15:05:22 · 212 阅读 · 0 评论 -
python中的类方法简单介绍
1、python类中内置方法__init__方法 :初始化一个 类 ,在创建实例对象为其 赋值 时使用。__str__方法:在将对象转换成字符串 str(对象) 测试的时候,打印对象的信息。__new__方法:创建并返回一个实例对象,调用了一次,就会得到一个对象。__class__方法:获得已知对象的类 ( 对象.class)。__del__方法:对象在程序运行结束后进行对象销毁的时候调用这个方法,来释放资源。2、类中的self理解类中的self和把这个类实例化之后得到的对象是相同的,也..原创 2021-05-07 14:07:55 · 2173 阅读 · 0 评论 -
python 获取当前文件夹下所有文件名
使用os模块import os def getfile_name(file_dir): for root, dirs, files in os.walk(file_dir): print(root) #当前目录路径 print(dirs) #当前路径下所有子目录 print(files) #当前路径下所有非目录子文件 ...原创 2021-05-05 20:03:47 · 4401 阅读 · 0 评论 -
Python——判断字符串(是否包含中文)与(是否全部由中文组成)
原理中文字符编码范围:\u4e00 - \u9fff方法#判断字符串是否包含中文def str_contain_chinese(str): for ch in str: if u'\u4e00'<=ch<=u'\u9fff': return True return False原创 2021-04-13 20:17:36 · 4091 阅读 · 0 评论 -
TF-IDF(词频-逆文档频率)使用sklearn实现
在获取单词的TF-IDF值的时候,可以选用已有的库来实现,而不用再去手动去写。这里使用sklearn中提供的已有的方法来获取TF-IDF:TfidfVectorizer类class sklearn.feature_extraction.text.TfidfVectorizer(*, input='content', encoding='utf-8', decode_error='strict', strip_accents=None, lowercase=True, preproc原创 2021-04-11 18:17:20 · 1766 阅读 · 2 评论 -
TF-IDF(词频-逆文档频率)介绍与python实现
TF-IDF(term frequency—inverse document frequency)TF-IDF介绍TF-IDF(词频-逆文档频率)是一种用于信息检索(Information retrieval)与数据挖掘(data mining)常用的加权技术TF-IDF是一种统计方法,用来评估单词或短语对于一个语料库的重要程度,它两部分组成:TF是词频(Term Frequency),IDF是逆文本频率指数(Inverse Document Frequency)主要思想:单词或短语的重要性原创 2021-04-09 11:30:25 · 5649 阅读 · 0 评论 -
感知机算法原理与多种python实现方式结果可视化
感知器算法什么是感知器:感知器是根据输入数据的特征向量x,对其进行二分类的一种线性分类模型。f(x)=sign(w⋅x+b)感知器是一个分类器,对于输入空间内的实例划分为正负两类超平面,属于判别模型!比如:有两组数据作为训练集,其中的类别是A和B,在训练完成后,通过给定一个测试数据,感知器能够将其分成A或者B感知器模型:(图中有错误,最下面的x0应该是xn)感知器包括多个输入节点,从x1-xn,有多个权重矩阵W0-Wn。一个输出节点O,激活函数使用Sigh函数,最后输出的原创 2021-04-09 10:26:30 · 2735 阅读 · 1 评论 -
python——numpy.dot()和numpy.inner()之间的区别
两个函数对于一维数据来说,效果是相同的,这里做个实验:import numpy as npA=[1,2,3]B=[4,5,6]print(np.inner(A,B))print(np.dot(A,B))可以看到结果都是32但是对于二维数据来说,两者就有了区别:import numpy as npA=[[1 ,10], [100,1000]]B=[[1,2], [3,4]]print(np.inner(A,B))print(np.dot(A,B))原创 2021-04-08 22:32:42 · 5545 阅读 · 0 评论 -
python——pickle模块(用于Python对象的持久化存储)
pickle模块介绍pickle是一种用于存储的持久化技术首先从英文来理解一下这个模块:pickle 是腌渍的意思,也就是把东西腌起来保存成文件,要用的时候读出来洗洗还能用。专业点的说法是:pickle是python序列化的一个工具!可以用来把对象来以文件的形式存储起来,用的时候再加载!注意:pickle模块只能在python中使用,python中的几乎所有的数据类型都可以序列化!但是序列化以后得到的文件人看不懂!pickle模块内部实现了用于序列化和反序列化Python对象结构的二进制原创 2021-04-07 22:18:30 · 7012 阅读 · 0 评论 -
leetcode每日刷题:数组的度
题目描述:给定一个非空且只包含非负数的整数数组 nums,数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。示例 1:输入:[1, 2, 2, 3, 1]输出:2解释:输入数组的度是2,因为元素1和2的出现频数最大,均为2.连续子数组里面拥有相同度的有如下所示:[1, 2, 2, 3, 1], [1, 2, 2, 3], [2, 2, 3, 1], [1, 2, 2], [2, 2, 3], [原创 2021-04-07 20:44:39 · 1559 阅读 · 0 评论 -
DeprecationWarning: Using or importing the ABCs from ‘collections‘ instead of from ‘collections.abc‘
在python练习中,遇到关于测试一个对象是否可迭代的过程中,按照教程进行练习,但出现DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working from collections import Iterable原因:由于在python3.8中不再支持colle.原创 2020-09-18 19:03:02 · 3106 阅读 · 0 评论 -
leetcode每日刷题:两数相加
问题描述给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807解决思路:classSolution:.原创 2020-09-15 16:40:48 · 122 阅读 · 0 评论 -
leetcode每日刷题: 二叉树的中序遍历
问题描述:给定一个二叉树,返回它的中序遍历。问题分析:中序遍历:左,中,右解决方法:颜色标记法优点:易于理解,稍微更改可适用于前序,中序,后序遍历其核心思想如下: 使用颜色标记节点的状态,新节点为白色,已访问的节点为灰色。 如果遇到的节点为白色,则将其标记为灰色,然后将其右子节点、自身、左子节点依次入栈。 如果遇到的节点为灰色,则将节点的值输出。class Solution: def inorderTraversal(self, root: Tree...原创 2020-09-14 09:49:31 · 196 阅读 · 0 评论 -
Python报错pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool解决方法
Python报错pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool解决方法pip --default-timeout=100 install 库名称 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com国内镜像网站。清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http:...原创 2020-09-05 12:31:47 · 214 阅读 · 0 评论