自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 2021-11-02

def _get_unique_neighs_list(self, nodes, num_sample=10): _set = set to_neighs = [self.adj_lists[int(node)] for node in nodes] # 获取目标节点集的所有邻居节点[[v0的邻居],[v1的邻居],[v2的邻居]] if not num_sample is None: # 如果num_sample为实数的话 _sample = random.sam

2021-11-02 02:55:32 277

原创 MySQL 学习笔记三 之 数据修改、事务

修改数据INSERTUPDATE使用UPDATE,我们就可以一次更新表中的一条或多条记录 。一条记录:UPDATE students SET name=‘大牛’, score=66 WHERE id=1;多条记录:UPDATE students SET name=‘小牛’, score=77 WHERE id>=5 AND id<=7;注:先用SELECT语句来测试WHERE条件是否筛选出了期望的记录集,然后再用UPDATE更新。DELETE#事务这种把多条语句作为一个整

2021-06-14 18:59:38 250

原创 MySQL 学习笔记二 之 查询数据

条件查询SELECT * FROM <表名> WHERE <条件表达式>注:WHERE 60 <= score <= 90,意思是score >=60 or score <=90WHERE score IN (60, 90),意思是in (, , ,)和python中的in类似,和这里的or也类型,是指 是否在(, , ,)这个集合中。若不加括号,运算按照NOT、AND、OR的优先级进行,即NOT优先级最高,其次是AND,最后是OR

2021-06-14 17:56:50 234

原创 MySQL 导入sql文件

1.启动MySQL服务C:\Windows\system32>net start mysql2.执行命令mysql -u root -p3.导入文件source D:\Mysql\mysql\code\init-test-data.sqlsource 后面是 你的 要导入的sql文件的路径

2021-06-14 10:48:44 173

原创 MySQL 学习笔记一

Mysql概述NULL表示字段数据不存在一个班级对应着多个学生,故班级表和学生表的关系就是“一对多”。一个班级总是对应一个教师,班级表和教师表就是“一对一”关系。主键关系表,有个很重要的约束,就是任意两条记录不能重复。能够通过某个字段唯一区分出不同的记录,这个字段被称为主键。记录一旦插入到表中,主键最好不要再修改。注:选取主键的一个基本原则是:不使用任何业务相关的字段作为主键。例:身份证号、手机号、邮箱地址这些看上去可以唯一的字段,均不可用作主键。(因为:如果身份证号升位了,或者需要

2021-06-12 22:31:49 145 1

原创 mysql 安装配置教程

详情见:MySQL的安装与配置——详细教程

2021-06-12 20:36:16 99

原创 python 返回函数中的在一个内部函数里 对外部作用域(但不是全局作用域)的变量进行引用

例1:count = []for i in range(1, 4): def f(): return i * i count.append(f)f1, f2, f3 = countprint(f1, 'f1的运行结果为', f1())print(f2, 'f1的运行结果为', f2())print(f3, 'f1的运行结果为', f3())这里本意是f1,f2,f3分别对应i=1,2,3时的f函数,但是当调用函数显示的时候,i 已经是3,所以得到的结果是一

2021-05-31 17:44:55 460

原创 python sort函数 cmp、functools.cmp_to_key 详解

一、sort函数sort函数默认按从小到大的顺序排列————————————————sort()函数原型:list.sort(key=None, reverse=False)、(1) key参数key接受的是一个只有一个形参的函数,形式如下def f(a):return len(a)key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序list = ['aa', 'bbb', 'cccc', 'd']def compare(a): return len(a)

2021-05-31 02:48:04 4237 1

原创 python 队列和双端队列 基本操作

队列queue模块先入先出FIFOimport queueq=queue.Queue()q.put(3)q.put(2)print(q.get())print(q.empty())print(q.qsize())输出3False1双端队列import collectionsd=collections.deque()d.append(1)d.append(2)print(d)d.appendleft(3)print(d)print(d.popleft())pri

2021-05-19 19:15:03 231

转载 python 类的__str__方法

转载自文章:str()方法当使用print输出对象的时候,只要类中自己定义了__str__(self)方法,那么就会打印从在这个方法中return的数据。例如:class Cat: """定义一个猫类""" def __init__(self, new_name, new_age): """在创建完对象之后 会自动调用, 它完成对象的初始化的功能""" # self.name = "汤姆" # self.age = 20

2021-04-08 21:54:58 1668

原创 Python列表与字典操作的时间复杂度

Python列表与字典操作的时间复杂度码住,以后看。

2021-03-26 21:26:26 222

原创 python 切片操作 超全汇总

一、切片方式:①切取单个元素:>>>a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>>a[0]>>>0>>>a[-4]>>>6当索引只有一个数时,表示切取某一个元素。②切取完整对象:切片操作基本表达式:object[start_index:end_index:step]step:正负数均可,其绝对值大小决定了切取数据时的‘‘步长”,而正负号决定了“切取方向”,正表示“从左

2021-03-26 21:14:01 697

原创 python 深拷贝与浅拷贝

一、常见的拷贝方式①直接赋值只传递对象的引用,原始列表改变,被赋值的b也会做相同的改变事实上,b和alist指向的是同一个列表。>>> b=alist>>> print b[1, 2, 3, ['a', 'b']]>>> alist.append(5)>>> print alist;print b[1, 2, 3, ['a', 'b'], 5][1, 2, 3, ['a', 'b'], 5]②浅拷贝:c=cop

2021-03-26 20:54:12 237 1

原创 python 切片操作

注意python切片操作,索引的是下标,如:a=[3,4]print(a[:0])输出[]a=[3,4,5]print(a[:3])输出[3, 4, 5]

2021-03-26 18:59:36 76

原创

堆总是满足下列性质:堆中某个结点的值总是不大于或不小于其父结点的值;堆总是一棵完全二叉树。

2021-03-07 10:05:26 69

原创 完全二叉树

定义:如果编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同,则这棵二叉树称为完全二叉树。特点:叶子结点只能出现在最下层和次下层,且最下层的叶子结点集中在树的左部。若叶子节点是i,则父节点为[i/2]若父节点为j,则左孩子为2*j,右孩子为2*j+1...

2021-03-07 09:57:49 186

原创 归并 两个长度分别为m和n的有序表,最坏情况下需要比较m+n-1次?

合并有序表的方法通常使用双指针法。最差的情况是所有元素都比较过。每比较一次就往表C里放一个元素,也就是说排完m+n-1个元素比较了m+n-1次。最后一个元素直接放到表C的表尾就可以了。所以总共是m+n-1次。例:两个有序表分别为:A:1,3,5B:2,4,6合并的结果要产生新表C,且表C也是从小到大排序的。解:设上链指针p,下链q,每次比较后较小节点依次作为“合并后链表的节点”,同时较小链指针后移。某链指空后不再比较。具体过程为:第一步:1和2比,1小作为新节点,p移至3。第二步,3和

2021-02-17 17:10:28 5157

原创 Python面试宝典 - 基础篇 - 2020

码一个面试资源https://github.com/jackfrued/Python-Interview-Bible/blob/master/Python%E9%9D%A2%E8%AF%95%E5%AE%9D%E5%85%B8-%E5%9F%BA%E7%A1%80%E7%AF%87-2020.md

2021-02-13 23:38:06 264

原创 python 类属性

廖雪峰 面向对象编程–实例属性和类属性 练习题为了统计学生人数,可以给Student类增加一个类属性,每创建一个实例,该属性自动增加:class Student(object): count = 0 def __init__(self, name): self.name = name Student.count+=1# 测试:if Student.count != 0: print('测试失败!')else: bart = St

2021-02-12 18:48:23 160 1

原创 面向对象和面向过程的区别

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。例如五子棋:面向过程的设计思路就是首先分析问题的步骤: 1、开始游戏, 2、黑子先走, 3、绘制画面, 4、判断输赢, 5、轮到白子, 6、绘制画面, 7、判断输赢, 8、返回步骤2, 9、输出最后结果。 把上面每个步骤用分别的函数来实现,问题就解决了。而面向对象的

2021-02-07 14:19:45 89

原创 python 装饰器

此文为个人总结的廖雪峰学习笔记,详细知识见廖雪峰。装饰器用途:要增强now()函数的功能,又不希望修改now()函数的定义,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)本质上,装饰器是一个接受函数作为参数的返回函数。装饰器的常见定义方式(两种):①def decorator(func): def wrapper(*arg,**kw): print('call %s():' % func.__name__) return

2021-02-05 23:16:02 75

原创 返回值为函数

如果返回的只有函数名,那么被返回的函数不会被调用,如:def f(): print('1+1=2')def wrapper(fun): return funa = wrapper(f)这样不会调用f。若想调用f,需改为return fun(),上面例子可以改为:def f(): print('1+1=2') def wrapper(fun): return fun()wrapper(f)这样就会调用了,输出:1+1=2,这时wrapper(

2021-02-04 12:31:24 267

原创 python 生成器 generator 以及 next()函数

我们知道,如果一个函数定义中包含yield关键字,那么这个函数就是一个generator。如下面的gene()就是一个generator: def gene(): i=1 while True: yield i i+=1但是,如果想用next()函数不断获得这个generator的下一个返回值,不能直接next(gene()),必须先生成一个generator对象,再用next()函数。正确写法为: de

2021-02-03 20:30:51 1460 1

原创 python 大小写转换 lower() 和 upper() 函数 注意事项

以lower()函数为例,upper()同理str.lower(),把str字符串中所有大写字母变成小写并将改变后的字符串返回。需要注意:def normalize(name): name[0].upper() return name本意是想把name的首字母变成大写,但这样无法改变name正确写法:def normalize(name): return name[0].upper+name[1:]同理:def normalize(name): name

2021-02-02 13:15:23 3337

原创 求一个非负的十进制整数 所占的bit位数

求非负的十进制整数n所占的bit位数:设n占m个bit位,则20+21+⋯+2m−2<n≤20+21+⋯+2m−12^0+2^1+\dots+2^{m-2}<n\leq2^0+2^1+\dots+2^{m-1}20+21+⋯+2m−2<n≤20+21+⋯+2m−1即2m−1−1<n≤2m−12^{m-1}-1<n\leq2^m-12m−1−1<n≤2m−1所以,n所占的bit位应为m=floor(log⁡(n+1))m=floor(\log\left(n+1\

2021-02-01 18:10:39 294

原创 最长公共子序列 递推方程推导

假设有两个序列A={adfs};B={dacd}当A,B的最后一个元素相同时,则最后一个元素一定在公共子序列里。而当最后一个元素不同时,如这里的s和d不同,这时有三种情况:两个元素不都在最长公共子序列里面s在最长公共子序列里面,d不在d在最长公共子序列里面,s不在不可能同时在里面如果同时在里面的那么这两个元素一定是相等的。所以递推方程为:注:由于dp[i-1][j-1]一定比dp[i-1][j]和dp[i][j-1]都要小,所以取max的时候可以不考虑dp[i-1][j-1]。..

2021-02-01 00:09:14 1070

原创 字符串索引超出维度 IndexError: string index out of range

廖雪峰 python 切片 练习题:利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:如下写法会报错:IndexError: string index out of rangedef trim(s): if s== '': return s else: while s[:1]== ' ': s= s[1:] while s[-1]== ' ':

2021-01-31 11:50:15 2070

原创 python 为什么要有关键字参数

python 为什么要有关键字参数摘自廖雪峰试想你正在做一个用户注册的功能,除了用户名和年龄是必填项外,其他都是可选项,利用关键字参数来定义这个函数就能满足注册的需求。def person(name, age, **kw): print('name:', name, 'age:', age, 'other:', kw)>>> person('Bob', 35, city='Beijing')name: Bob age: 35 other: {'city': 'Bei

2021-01-30 15:27:41 176 1

空空如也

空空如也

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

TA关注的人

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