一.深浅copy
浅copy只copy第一层,不copy第二层。copy后,第一层指向不同内存地址。第二层指向相同的内存地址。
导入copy模块,deepcopy深copy。deepcopy后,均指向不同的内存地址,占用硬盘空间。
深copy不常用。
二. 字典操作
字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。
语法:
info = { ‘stu1101‘: "TengLan Wu", ‘stu1102‘: "LongZe Luola", ‘stu1103‘: "XiaoZe Maliya", }
字典的特性:
- dict是无序的
- key必须是唯一的,so 天生去重
增加
修改
删除
查找
多级字典嵌套及操作
其它姿势
循环dict
#方法1 for key in info: print(key,info[key]) #方法2 for k,v in info.items(): #会先把dict转成list,数据里大时莫用 print(k,v)
三.集合操作
集合是一个无序的,不重复的数据组合,它的主要作用如下:
- 去重,把一个列表变成集合,就自动去重了
- 关系测试,测试两组数据之前的交集、差集、并集等关系
常用操作
四.文件操作
对文件操作流程
- 打开文件,得到文件句柄并赋值给一个变量
- 通过句柄对文件进行操作
- 关闭文件
- r,只读模式(默认)。
- w,只写模式。【不可读;不存在则创建;存在则删除内容;】
- a,追加模式。【可读; 不存在则创建;存在则只追加内容;】
"+" 表示可以同时读写某个文件
- r+,可读写文件。【可读;可写;可追加】
- w+,写读
- a+,同a
"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)
- rU
- r+U
"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)
- rb
- wb
- ab
基本操作:
f=open("wenjian","r") 读,一行一行读,占内存
f=open("wenjian","w") 写,创建新文件,覆盖原文件
f=open("wenjian","a") 追加,在最后写入
f=open("wenjian","r+") 以读和追加的方式打开
f=open("wenjian","w+") 创建文件,以追加方式写入
f=open("wenjian","a+") 可读,在后面追加
f=open("wenjian","wb") 以二进制方式读文件
print(f.readlines()) 将文件中每一行当做一个元素输出
print(f.seek()) 打印指针(光标)所在位置(按字符计算)
f.encoding 打印文件编码
f.isatty 判断是否为终端设备
f.name 打印文件名字
f.seekable 判断是否为可移动光标文件,返回True/Flase
f.flush() 刷新到硬盘中
f.closed 判断文件是否关闭
f.truncate() 从头截断几个,与光标位置无关