- 博客(13)
- 收藏
- 关注
原创 数据结构4(双向链表、循环链表)
双向链表 相对于单项列表,双向链表数据区前多加一个链接区,指向前一个结点。 链表的数据添加时,区别与单链表差别不是很大,需注意p区的指向。 链表查找时完全可以当作单链表按顺序查找。 单项循环链表 其与双向链表的区别就是最后的next指向第一个节点 各项操作: class xunhuanLinkList(object): def __init__(self,elem): self.elem=elem self.next=None #"单链表" def __
2021-07-02 22:36:12 140 2
原创 数据结构笔记2
数据存储 不同数据类型在计算机内占据的空间大小是不一样的,例如一个int类型的数据就占据4个字节,字符类型占两个。 顺序表 存储相同元素 在存储一些相同类型的数据时占用的空间相同,采用顺序存储,可通过此特性利用元素存储的位置简单的进行读取 存储不同元素(元素外置) 要求连续存储的数据类型不同,那不能使用顺序表存储,所以使用元素外置的方式,将不通的数据分开存储,然后再申请一段连续空间存储各个元素的地址。 所以在读取时,先读取存储的地址信息,然后根据地址信息再读取地址指向的数据 顺序表的实现方式 一体式结构和分
2021-06-08 17:25:44 121
原创 笔记九(文件操作、读写csv文件、os模块(调用系统文件)、walk遍历文件、shutil压缩拷贝等文件操作)
第八章: 文件操作!!!! 文件分为:文本文件(文本能直接打开看的文件)和二进制文件(图片,word文件) 一般使用的时unicode字符集 创建文件对象 open(文件名,打开模式) 例如:f=open(r"d:\b.text",“a”) r加进去的意义是避免编译时计算机将\t当成转义字符带入了 a表示append 在文件内容的末尾添加内容 b表示binary 如果打开时模式不是b,则默认建立文本文件对象,处理单元是字符;若使用的是二进制b模式,则建立二进制文本文件,处理单位是字
2021-05-11 20:08:55 230
原创 笔记七(属性、对象、组合、工厂模式)
方法没有重载 因为python的数据可以不声明类型 如果有了冲突,将会用最后一个方法覆盖之前的方法 同时,python是动态语言,可以进行方法的添加: class Student: def work(self): print('赚钱') def hanshu(a): print('{0}在玩'.format(a)) Student.hanshu=hanshu #此操作就是将外部的方法加载到类中 Student.hanshu('我') #此语句就是调用 私有属性(封
2021-02-24 15:36:56 102
原创 笔记一
IDLE开发环境 是一种交互式编程工具,python官网下载时会自动下载下来 第一个python程序: print(‘hello world’) IDLE使用时注意的事项: 输入一个语句后回车,就会执行本语句 语句与语句间是有关系的 不可以随意添加空格,空格在python中有自己的意思,Tab键默认为四分空格距离 4.相关的快捷键可直接百度得知 5.ctlr+s要经常使用,避免意外情况导致的信息丢失 6.为方便自己和他人解读程序,养成语句注释的好习惯 #注释一句话 ‘‘‘注释一段话’’’ 五环程
2021-02-21 22:18:33 56
原创 笔记二
数据的缓存问题: 首先,对象具有{id,type,value} is函数:比较两个变量的id是否一致 函数:比较两个变量的value是否一致 在IDLE环境下,[-5,256] 内的数字是会被缓存的,则给两个变量分别定义其中的同一个值,两个变量指向同一个对象 a=1 b=1 a is b #为true a==b #为true 另外此代码在文本运行环境下,范围变成了[-5,任意正整数] ...
2021-02-21 22:17:33 67
原创 笔记三
可变字符串 当遇到字符串修改的比较频繁时,可以使用io函数首先要先引用:import io) a='ssjs,sss' import io sio=io.StringIO(a) sio,seek(7)#定位到a字符串的第七个 sio.write('22')#修改成单引号里面的字符串 sio.getvalue(sio)#得到sio的值 数学运算: 序列 常用的序列结构:字符串,列表,元组,字典,集合 列表 创建列表: 1 a=[1,2,3] 2 a=list(b) b是其它类型的字符串 rang
2021-02-21 22:17:09 81
原创 笔记四(字典、键值对、集合、if函数)
字典 创建:a={‘name’:…,‘内容’:。。。} dict (name=‘内容’,其他=‘。。。’) 利用元组:a=[(‘name’,‘内容’),(‘内容’,’…’)] zip函数: a=(…) b=(…) dict(zip(a,b)) 若想访问: a[ ’ 键 ’ ] a.get(‘键’,‘不存在’):表示如果键不存在,返回值为不存在 获得所有键值对:a.items() 获得所有键:a.keys() 获得所有值:a.values() 添加键值对: a[‘key’]=‘value’:原来有的覆盖,
2021-02-21 22:16:46 211
原创 笔记五(for 、while、自定义函数、lambde、eval、递归)
for 循环 九九乘法表: for x in range(1,10): for y in range(1,x+1): z=x*y print('{0}*{1}={2}'.format(x,y,z),end='\t') print()
2021-02-21 22:16:21 143
原创 笔记六(嵌套函数、LEGB函数、面向过程、面向对象、类)
嵌套函数 定义函数时,内部可再定义新的函数 定义的函数内部使用外层函数的变量时不可直接更改,使用nonlocal()变量即可 使用全局变量进行修改时:使用global() LEGB规则 面向过程、面向对象 面向过程适合处理简单的问题,面向对象适合处理相对复杂的问题。面向对象处理问题时宏观是面向对象,围观而言还是面向过程 ...
2021-02-21 22:15:36 100
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人