python 基础+备忘
weixin_39087379
这个作者很懒,什么都没留下…
展开
-
pytorch inplace operation
+=add_第三种情况,对变量切片操作后赋值给原来的参数!!!!x[:,:,0] = x[:,:,0] * b原创 2022-03-10 18:47:18 · 174 阅读 · 0 评论 -
np.random
d原创 2022-03-09 10:54:58 · 119 阅读 · 0 评论 -
python -- resize / reshape
resize会对原值进行修改并且返回是None,reshape不会对原值进行修改,返回是修改后结果原创 2022-03-02 17:03:41 · 400 阅读 · 0 评论 -
实例讲解Python中的魔法函数
实例讲解Python中的魔法函数:https://zhuanlan.zhihu.com/p/344951719原创 2021-09-16 10:21:39 · 109 阅读 · 0 评论 -
ascii can‘t xxx
错误提示:ascii can’t xxxf=open()f_l=f.readlines()对f_l中的文本操作时,输出ascii can’t xxx调试过程:open加encoding参数无效{ open(xxx,encoding=‘utf-8’)};python文件首行指定编码方式无效;打印系统的编码方式显示为ascii;解决办法,对文本内容使用encode()函数进行编码!!!print(xx.encode('utf-8'))...原创 2021-07-29 22:12:13 · 101 阅读 · 0 评论 -
python--文件操作r r+, w w+, a a+
r只读,r+读写,不创建w新建只写,w+新建读写,二者都会将文件内容清零 (以w方式打开,不能读出。w+可读写)w+与r+区别: r+:可读可写,若文件不存在,报错;w+: 可读可写,若文件不存在,创建以a,a+的方式打开文件,附加方式打开 (a:附加写方式打开,不可读;a+: 附加读写方式打开)...原创 2021-06-22 16:22:59 · 168 阅读 · 0 评论 -
python -- decimal规则
Decimal中舍入规则大致有以下几种类型,做简单介绍一下:1)ROUND_UP:舍弃小数部分非0时,在前面增加数字,如 5.21 -> 5.3;永远进位2)ROUND_DOWN:舍弃小数部分,从不在前面数字做增加操作,如5.21->5.2;永远舍3)ROUND_CEILING:如果Decimal为正,则做ROUND_UP操作;如果Decimal为负,则做ROUND_DOWN操作;趋向正无穷4)ROUND_FLOOR:如果Decimal为负,则做ROUND_UP操作;如果Decimal为原创 2021-06-22 16:00:43 · 291 阅读 · 0 评论 -
python--切片中的索引,索引省略,布尔索引,花式索引
内容待补充。。。原创 2021-06-19 10:47:34 · 143 阅读 · 0 评论 -
python numpy -- tofile,fromfile,save,load
一,tofile()和fromfile()tofile()将数组中的数据以二进制格式写进文件,不保存数组形状和元素类型等信息fromfile()读入如数据,在读入数据时需要正确设置dtype参数,并reshape才能得到和原始数据一致的结果f='xxx.fea'arr1.astype('float').tofile(f)arr2=np.fromfile(f, dtype='float') #必须设置dtype且和保存时一致,否则结果错误二、save,load是NumPy专用的二进制格式保存数原创 2021-06-19 10:46:17 · 3418 阅读 · 0 评论 -
python -- 格式化
占位 待补充原创 2021-06-05 16:35:18 · 51 阅读 · 0 评论 -
python 通过布尔索引确定 True or False,替换0
a 是 numpy矩阵:a[a==0] = eps #将a中的0替换为eps值a[a<-1] = -1 #将a中小于-1的值替换为1使用where替换待补充。。。原创 2021-06-05 16:34:46 · 461 阅读 · 0 评论 -
tmux+conda环境配置不对问题解决
需要退出虚拟变量,conda deactivate # 退出虚拟环境,然后重新进入,conda activate env_name 否则tmux窗口下的环境不对原创 2021-05-20 23:10:52 · 2729 阅读 · 2 评论 -
python -- 等号复制,浅复制,深复制
等号复制,浅复制,深复制b = a, a修改可变数据类型 或 不可变数据类型, b都会和a保持一致b = a.copy() a修改可变数据类型,b会跟着修改; a修改不可变数据类型,b不变b = a.deepcopy() a修改可变数据类型 或 不可变数据类型, b都保持不变...原创 2021-03-29 21:10:09 · 770 阅读 · 1 评论 -
python 静态函数 static_method
函数语法staticmethod(function)静态函数声明格式:class C(object): @staticmethod def f(arg1, arg2, ...):以上实例声明了静态方法 f,从而可以实现实例化使用 C().f(),当然也可以不实例化调用该方法 C.f()。例#!/usr/bin/python# -*- coding: UTF-8 -*- class C(object): @staticmethod def f():原创 2021-03-05 20:33:05 · 348 阅读 · 0 评论 -
树-二叉树-perfect complete full-完美 完全 完满
完美二叉树:perfect每一个父节点都有两个child,第i层有2^(i-1)个子节点完全二叉树 complete除最后一层外,其余为完美二叉树最后一层的节点靠左对齐完满二叉树 full满是指每一个父节点的子节点都是全的,既:每个父节点都有两个子节点...原创 2020-11-14 11:53:49 · 166 阅读 · 0 评论 -
python--排序算法 堆排,快排,归并,桶排,冒泡,选择排,插排
python–排序算法 堆排,快排,归并,桶排,冒泡,选择排,插排l=[1,2,3,4,6,23,5,9,6,22,66,12,]堆排def heapify(a,i,n): l=2*i+1 r=2*i+2 ind=i if l<=n and a[ind]>a[l]: ind=l if r<=n and a[ind]>a[r]: ind=r if ind !=i: a[ind],a[原创 2020-11-09 15:25:46 · 120 阅读 · 0 评论 -
堆的插入和删除
堆的插入和删除算法堆的插入算法:直接把结点插入到堆末尾,然后从下往上冒泡到合适的位置;堆的删除算法:把最后一个结点插入删除结点的位置,然后进行一次调整.void max_heap_insert(int **par_array, int item_value) { int index = 0; int father_index = 0; /*如果超过动态数组大小,则对其内容进行扩充*/ if(heap_size+1 > heap_cap_si.原创 2020-09-03 12:12:36 · 181 阅读 · 0 评论 -
python2 机试输入处理
格式:while True: try: n=raw_input() #输入字符串 a,b=raw_input.split() #对输入字符串做分割、int转换等处理 a=int(a),b=int(b) print sum(a,b) # 功能函数 except: break例子:while True: try: n=raw_input() n=int(n)原创 2020-08-19 12:39:45 · 147 阅读 · 0 评论 -
python--赋值,浅拷贝,深拷贝的区别
1.赋值传递对象的引用,原始列表改变,被赋值的元素也会改变对列表和字典来说,源内容改变,赋值的内容也会改变,二者指向的引用一致,内容一致。#赋值l1=[1,2,3]l2=l1print id(l1),id(l2) #139870712611616 139870712611616, l2 l1指向完全一致l1.append(4) print l2 #l1 指向内容改变,l2也会随着改变2.浅拷贝如果容器里面的项是引用,拷贝的就是引用,此引用指向相同的对象。源中的子对象改变,拷贝的子对象原创 2020-08-11 11:38:13 · 85 阅读 · 0 评论 -
python--正则表达式
正则表达式是以个特殊的字符序列,可以用于检查一个字符串是否与某种模式匹配原创 2020-08-05 10:41:01 · 98 阅读 · 0 评论 -
python--内嵌函数,内包函数
嵌套函数python允许创建嵌套函数。也就是说我们可以在函数里面定义函数,而且现有的作用域和变量生存周期依旧不变。例子:#encoding=utf-8def outer(): name="python" def inner():#outer函数内部定义的函数 print name return inner()#返回该内部函数在inner函数中,python解析器需要找一个叫name的本地变量,查找失败后会继续在上层的作用域里面寻找,这个上层作用域定义在o原创 2020-08-05 00:24:11 · 719 阅读 · 0 评论 -
python--open函数的参数 ‘r’ ‘w’ ‘a’ ‘r+’ ‘w+’ ‘a+’ 二进制‘rb‘ ‘wb‘ ‘ab‘ ‘rb+‘ ‘wb+‘ ‘ab+‘
‘r’ 读‘w’ 写‘a’ 追加‘r+’ == r+w(读写,可读可写,文件若不存在就报错(IOError))‘w+’ == w+r(写读,可读可写,文件若不存在就创建)‘a+’ ==a+r(可追加可写,文件若不存在就创建)对应的,如果是二进制文件,需要加一个b:‘rb’ ‘wb’ ‘ab’ ‘rb+’ ‘wb+’ ‘ab+’注意!‘w’会抹去文件原有的内容,如果只是加新的内容应该用‘a’...原创 2020-08-04 16:27:50 · 1135 阅读 · 0 评论 -
python --二叉树的遍历(先、中、后 的 递归 非递归 方法 及 层序遍历)
先序遍历递归写法 def prerderTraversal1(self , root ): # write code here res=[] if root: res.append(root.val) res.extend(self.prerderTraversal1(root.left)) res.extend(self.prerderTraversal1(root.right))原创 2020-08-02 12:34:19 · 182 阅读 · 0 评论 -
python--sorted 和.sort的区别与使用
区别1.sort 是应用在 list 上的方法sorted 是内置函数,可以对所有可迭代的对象进行排序操作。2.sort在原列表上操作,无返回值sorted返回排序后的对象sorted 语法:sorted(iterable, cmp=None, key=None, reverse=False)cmp – 比较的函数,具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。>>> L=[('b',2),('a',1),原创 2020-07-26 14:56:48 · 94 阅读 · 0 评论 -
python -- extend 和 append 的区别
extend 加入可迭代对象l1=[1,2,3]l2=[3,4,5]l1.extend(l2)此时 l1为 [1,2,3,3,4,5]l1.append(l2)此时l2为 [1,2,3, [3, 4,5]]原创 2020-07-26 14:42:21 · 126 阅读 · 0 评论 -
多个 if 语句和 else if 的区别
多个 if 时,每一个 if 都会执行;if 、、、else if 、、、如果前面的if成立了,后面的 else if 则不再执行原创 2020-07-10 00:25:49 · 249 阅读 · 0 评论 -
python list使用
逆向索引l[::-1]l[start:end:-1],加入新元素:l.append() 在列表末尾加入新元素l.insert(index,obj) 在指定位置 插入 新元素l1.extend(l2), 将l1和l2进行拼接,等价于l1+l2删除元素:l.pop() 删除末尾的元素l.remove()del(l[i1:i2]) 删除指定的元素列表函数len(l)max(l)min(l)cmp(l1,l2)del (l[i1:i2])list(seq)方法:9–4--原创 2020-07-04 10:16:39 · 75 阅读 · 0 评论 -
python中 split strip 函数
s为字符串strip:删除, split:分离s.split(’.’) 按照分隔符 ‘.’ 将字符串进行分割,分割后返回类型为列表s.split() 等价于 s.split(’ '),不写分割复时,按空格进行分割,注意引号中有一个空格s.strip(‘2456’) 删除段首和段位含‘2456’的字符s.strip() 删除段首断尾的空白符(包括’\n’, ‘\r’, ‘\t’, ’ ')s.lstrip() 删除段首 的空白符s.rstrip() 删除段尾 的空白符...原创 2020-07-04 00:46:54 · 1947 阅读 · 0 评论 -
python 中问号表达式替代 exper and a or b
(1) variable = a if exper else b(2) variable = exper and b or c(3) variable = (exper and [b] or [c])[0]a, b = 1, 2max = a if a > b else bmax3 = a > b and a or bmax2 = (a > b and [a] or [b])[0] # listprint max,max2,max3原创 2020-07-04 00:27:13 · 264 阅读 · 0 评论 -
关于排序的几个名词--递增排序,递减排序,非递减排序,非递增排序
递增排序,1 2 3 4 5 6递减排序,6 5 4 3 2 1非递减排序,1 2 2 3 4 4 5 6非递增排序,6 5 5 4 3 3 2 1非递增,就是减,但不是递减非递减,就是增,但不是递增原创 2020-06-10 11:57:01 · 1769 阅读 · 1 评论 -
python--输入input(), raw_input(),sys.stdin.readline().strip()
1、input()和 raw_input()python2 中用 raw_input(),输入的内容若为数字则会转为字符串;python3 中用input(),输入的内容若为数字,则保留数字格式,不会自动将其转为字符串。python2 也可以用 input()输入数字,python3中则只有 input()输入。2、sys.stdin.readline() 和 input()sys.stdin.readline 会返回 换行符 ‘\n’’input 只返回输入的字符a=input() #输入原创 2020-06-10 02:04:12 · 258 阅读 · 0 评论 -
python--数字、字符串、元组、列表、array
Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号元组中的元素值是不允许修改的,但我们可以对元组进行连接组合tup1 = (12, 34.56)tup2 = ('abc', 'xyz')tup3 = tup1 + tup2...原创 2020-06-09 19:02:15 · 92 阅读 · 0 评论 -
python--dict字典的使用
字典格式如下所示:d = {key1 : value1, key2 : value2 }每个键值对( key=>value )用冒号 : 分割,键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,1、字典创建1、d={} #创建不空字典2、d={'a':3,'b':6}#创建有键和值内容的字典2、字典的访问中括号加键名print(d['a'])3、字典键值的添加及修改直接对键赋值,可以完成 添加 或 修改 操作d['a']=64、字典元素的删除1、de原创 2020-06-09 18:18:49 · 122 阅读 · 0 评论 -
删除list元素的三种方法---del(l[i_s:i_e])、l.pop([i])、l.remove(i)
del(l[i_s:i_e])、l.pop([i])、l.remove(i)原创 2020-05-27 02:04:53 · 752 阅读 · 0 评论 -
range、np.arange、np.linespace的区别
range(start,stop,step)np.arange(start,stop,step)np.linespace(start,stop,num)range(start,stop,step)与np.arange(start,stop,step)生成区间相同: [start,stop),步长为step。二者的区别,前者的step必须为整数,后者的step可以为小数np.arange(start,stop,step)与np.linespace(start,stop,num)二者的区别,1、原创 2020-05-27 01:03:35 · 843 阅读 · 0 评论 -
python list 与 array 的区别
list 列表,可以包含不同的元素,可以使用 append 在末尾添加元素array 矩阵,内部的元素类型相同原创 2020-05-27 00:29:57 · 145 阅读 · 0 评论