python
诸神黄昏的幸存者
这个作者很懒,什么都没留下…
展开
-
LeetCode 54. 螺旋矩阵
看到一个有意思的做法,记录一下:class Solution: def spiralOrder(self, matrix: List[List[int]]) -> List[int]: res = [] while matrix: res.extend(matrix.pop(0)) # res += matrix.pop(0) 将当前矩阵的最上层进行存储在结果中,而且将原矩阵的最上层元素进行剥离。 matri.原创 2022-05-02 13:19:38 · 445 阅读 · 0 评论 -
pip指令相关操作
查看环境依赖的具体版本pip list将环境依赖导出至txt文件pip freeze > requirements.txt安装某个依赖包pip install xxx=x.x.x安装txt里面所有的依赖pip install -r requirements.txt原创 2022-01-24 19:16:17 · 425 阅读 · 0 评论 -
python随机生成0-n的不重复列表
直接附代码参考:# 下面生成的是0到(n-1)的随机列表,根据自己的需求改即可。### 方法一n = 10shuffle = random.sample(list(range(n)), n)print(shuffle) # [5, 4, 7, 9, 2, 3, 0, 8, 1, 6]### 方法二list = list(range(10))print(list) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]random.shuffle(list)print(l原创 2022-01-23 18:05:38 · 1898 阅读 · 0 评论 -
python各种结构的插入与弹出
python各种结构的插入与弹出1、list列表-栈插入用append()弹出用pop()2、set集合插入用add()弹出用pop()3、队列(1)from collections import deque插入用append(),appendleft()弹出用popleft(),pop()(2)from queue import Queue插入用put()弹出用get()...原创 2022-01-22 19:56:48 · 1028 阅读 · 0 评论 -
np.where用法以及常见的用法示例
np.where常用的用法示例,从一维数组以及二维数组进行举例:一、一维数组的np.where用法import numpy as nparr = np.arange(6) print(arr) # [0 1 2 3 4 5]print(np.where(arr > 3)) # (array([4, 5], dtype=int64),) 代表大于3数值的posprint(np.where(arr > 3, 1, -1)) # [-1 -1 -1 -1 1 1]arr = n原创 2021-12-20 15:55:44 · 1267 阅读 · 0 评论 -
内置函数sort与sorted的区别
list.sort():改变list内部的顺序sorted(list):不改变list内部的顺序>>> a = [2,1,4]>>> sorted(a)[1, 2, 4]>>> a[2, 1, 4]>>> a.sort()>>> a[1, 2, 4]原创 2021-12-06 09:04:56 · 419 阅读 · 0 评论 -
python中的链表理解
链表概念:链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。相关代码# 首先定义结点类,链表结点包括值域 val,和 next 指针class ListNode: def __init__(self, x): self.val = x self.next = Nonedef main(): """ 利用数组初始化一个链表 """ nums = [1, 4, 2, 7..原创 2021-11-25 20:12:04 · 3958 阅读 · 0 评论 -
python读写json的简单示例
读写json的简单示例这里以将字典写入json文件为例:import jsonmy_dict = {} # 换成自己的dictjson_str = json.dumps(my_dict, indent=4)with open('./my_dict.json', 'w') as json_file: json_file.write(json_str) # 写入with open('./my_dict.json', 'r', encoding='utf-8') as f: my原创 2021-11-25 17:01:29 · 555 阅读 · 0 评论 -
python中的队列理解【collection中deque源码解析】
队列概念:一种 先进先出的数据结构,元素从后端入队,然后从前端出队。因此,标准的队列基本操作有 push to back(从右边入队)、peek/pop from front(从左边出队)、size 和 is empty 这些操作,遵循了上述概念的原则。而python中collections自带的deque,是一个双端队列。即两边均可操作。理解时,可以按数组的顺序来理解,即0为前端(首),-1为后端(尾)。附下源码:class deque(object): """ deque([i原创 2021-11-21 19:32:02 · 1392 阅读 · 0 评论 -
python的break与continue的理解
break可以跳出当前while的循环,而不是全部while。原创 2021-11-20 16:13:44 · 524 阅读 · 0 评论 -
python利用字典统计词频的两种方式
python利用字典统计词频的两种方式1、自带collections库>>> import collections>>> s = 'collection'>>> collections.Counter(s)Counter({'c': 2, 'o': 2, 'l': 2, 'e': 1, 't': 1, 'i': 1, 'n': 1})>>> dict(collections.Counter(s)){'c': 2, 'o':原创 2021-11-20 13:30:35 · 4069 阅读 · 0 评论 -
python字符串的基本操作
字符串相关基础操作1、切片>>> str = '0123456789'>>> str[0:3] # 从0开始计数,左闭右开'012'>>> str[:] # 没有具体数值:默认从0开始,默认到终点'0123456789'>>> str[::-1] # 反转'9876543210' >>> str[4::] # str[4:]'456789'>>> str[::原创 2021-11-17 12:12:08 · 846 阅读 · 0 评论 -
命令行中利用python的pdb库调试
在没有利用pycharm等软件时,利用命令行编程调试时就可以使用pdb库。主要有两种方式进入调试方式。1、直接将断点在程序指定行设置好这种方式需要修改原先的py文件。然后运行py文件,会自动运行跳转指定的地方开始调试。import pdbpdb.set_trace() # 需要断点调试的地方2、命令行直接进行调试状态(推荐)这种方式不需要修改py文件,直接进行调试状态,默认从头开始。然后利用之后的一些命令进行调试即可。运行以下指令即可。python -m pdb main.py3、相关原创 2021-10-28 17:00:34 · 196 阅读 · 0 评论 -
conda虚拟环境的相关操作(快速安装pytorch虚拟环境)
1、创建虚拟环境conda create -n your_env_name python=3.8 其中,your_env_name:虚拟环境的名字,是自定义的。2、激活虚拟环境conda activate your_env_name 或Linux以及windows系统下Linux: source activate your_env_nameWindows: activate your_env_name3、结束虚拟环境Linux: source deactivateWindows原创 2021-10-18 17:26:31 · 362 阅读 · 0 评论 -
ipython在命令行的使用
ipython在命令行的使用,相较于直接输入python并使用更加方便。例如有时会自动跳转到合适的位置。输入以下指令并回车:ipython操作的示例:Python 3.7.3 (default, Mar 27 2019, 22:11:17)Type 'copyright', 'credits' or 'license' for more informationIPython 7.4.0 -- An enhanced Interactive Python. Type '?' for help.原创 2021-10-16 16:47:57 · 754 阅读 · 0 评论 -
中英文颜色RGB数值对照表(python cv2)
图像处理经常需要涉及画不同颜色的框、线;需要理解对应的颜色名字(包括中英文的)。注意:python的cv2读取图像是BGR格式,即与下面表格最后一列的数值相反,如LightPink浅粉红色为(193,182,255);blue纯蓝色为(255,0,0)。需要看具体颜色的样式可以打开链接查看。英文颜色中文颜色HEX格式RGB格式LightPink浅粉红#FFB6C1255,182,193Pink粉红#FFC0CB255,192,203Crimson猩红#原创 2021-09-25 15:39:40 · 9735 阅读 · 0 评论 -
python读取加载并保存pkl文件
示例:import _pickle as cPicklef = open('./valid.pkl', 'rb+')info = cPickle.load(f)print(info)附上open的相关参数:模式描述t文本模式 (默认)。x写模式,新建一个文件,如果该文件已存在则会报错。b二进制模式。+打开一个文件进行更新(可读可写)。U通用换行模式(不推荐)。r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。原创 2021-09-25 14:10:46 · 6863 阅读 · 0 评论 -
python的二进制与位运算
了解python的二进制与位运算,主要由以下几个方面展开:一、bin()函数将十进制转为二进制,输出的是字符串格式。>>> bin(11)'0b1011'其他八进制oct()、十六进制hex()。二、format以上的内置函数输出时前两位的字符代表进制。如果不需要输出前两位的,可以用以下的方式。>>> '{:b}'.format(11)'1011'>>> type('{:b}'.format(11))<class 'str'原创 2021-09-19 15:15:16 · 6285 阅读 · 0 评论 -
python初始化全0矩阵的两种方式(附获取矩阵维度操作)
这里考虑了两种情况:一、直接赋值初始化>>> row = 3>>> col = 4>>> matrix = [[0]*col for i in range(row)]>>> matrix[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]二、利用numpy初始化>>> import numpy as np>>> row = 3>>>原创 2021-09-16 14:10:07 · 6316 阅读 · 0 评论 -
win安装pycocotools包(最新版)
pip install pycocotools-windows原创 2021-09-14 17:55:44 · 195 阅读 · 0 评论 -
python三种安装常用又特殊的库(安装cv2、skimage以及sklearn)
安装图像处理cv2库pip install opencv-python安装机器学习sklearn库pip install scikit-learn注意:pip一般默认安装最新的版本,如果需要安装指定的版本,可以在后面加上==xx.xx。原创 2021-09-13 15:10:56 · 256 阅读 · 0 评论 -
如何在linux服务器上安装anaconda
1、在线下载anaconda软件以Anaconda3-2020.07-Linux-x86_64版本为例,具体可看https://repo.anaconda.com/archive。wget https://repo.anaconda.com/archive/Anaconda3-2020.07-Linux-x86_64.sh2、安装anaconda在所安装的路径下,修改安装程序权限为可执行chmod +x Anaconda3-2020.07-Linux-x86_64.sh./Anaconda3原创 2021-09-06 17:30:18 · 209 阅读 · 0 评论 -
python的标准数据类型
python的标准数据类型Python3 中有六个标准的数据类型:Number(数字)String(字符串)List(列表)Tuple(元组)Set(集合)Dictionary(字典)Python3 的六个标准数据类型中:**不可变数据(3 个):**Number(数字)、String(字符串)、Tuple(元组);**可变数据(3 个):**List(列表)、Dictionary(字典)、Set(集合)。>>> dict = {}>>>原创 2021-08-20 16:11:40 · 139 阅读 · 0 评论 -
如何按顺序先后执行多个python文件(多个程序)
os.system(cmd)直接调用os.system(cmd)即可。在一个python文件里,同时写多个命令,然后按顺序执行。案例1(运行一个python文件,从前到后按顺序调用程序执行):以下例子就是,执行顺序为preprocess.py -> train.py -> test.py -> postprocess.py。import oscmd = 'python preprocess.py'os.system(cmd)cmd = 'python train.py'o原创 2021-08-14 20:51:29 · 13254 阅读 · 0 评论 -
argparse库的学习笔记及案例(python命令行进行传参)
下面记录下学习python的argparse库的相关用法以及主要示例。主要分为以下六步:import argparse导入库parser = argparse.ArgumentParser() 建立解析对象parser.add_argument("–data_root", type=str, default=’./data’, help=“path to Dataset”)添加各种变量,可以用一个函数专门放置,也可以直接放在主函数当中。args = parser.parse_args() 把pa原创 2021-08-06 20:30:26 · 563 阅读 · 0 评论 -
学习pandas库笔记(pd.read_excel)
本项目是基于pandas==1.1.5的版本。以下记录学习pandas库的笔记def read_excel( io, sheet_name=0, header=0, names=None, index_col=None, usecols=None, squeeze=False, dtype=None, engine=None, converters=None, true_values=None, false_v原创 2021-08-04 22:19:49 · 731 阅读 · 0 评论 -
一文掌握图像对应的cv2,PIL以及numpy矩阵大小之间的关系
现在以图像train_aachen_000000_000019_leftImg8bit.jpg为例。属性详细信息(w * h)如下:图像的示意图:一、cv2读取图像cv2读取的图像就是numpy的格式了。import cv2img = cv2.imread('./train_aachen_000000_000019_leftImg8bit.jpg')print(img.shape) # (1024, 2048, 3) (h, w, c)print(type(img)) # <原创 2021-08-02 15:58:54 · 605 阅读 · 0 评论 -
超全常用python内置函数的学习笔记
1、ord()函数它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值。>>> ord('a')97>>> ord('b')98>>> ord('A')652、chr()函数chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符(当前整数对应的 ASCII 字符)。是上述ord()函数的配对函数。>>> chr(65)'A'原创 2021-07-18 11:05:12 · 428 阅读 · 1 评论