首页 > 代码库 > day3 字典,集合,文件

day3 字典,集合,文件

 

一.深浅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 天生去重

增加

技术分享 View Code

修改

技术分享 View Code

删除

技术分享 View Code

查找

技术分享 View Code

多级字典嵌套及操作

技术分享 View Code

 

其它姿势

技术分享 View Code

循环dict 

#方法1
for key in info:
    print(key,info[key])

#方法2
for k,v in info.items(): #会先把dict转成list,数据里大时莫用
    print(k,v)

 

三.集合操作

集合是一个无序的,不重复的数据组合,它的主要作用如下:

  • 去重,把一个列表变成集合,就自动去重了
  • 关系测试,测试两组数据之前的交集、差集、并集等关系

常用操作

技术分享 View Code

 

四.文件操作

对文件操作流程

  1. 打开文件,得到文件句柄并赋值给一个变量
  2. 通过句柄对文件进行操作
  3. 关闭文件 
  • 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()        从头截断几个,与光标位置无关

 

 

 

  

 

  

 

 

 

  

 

day3 字典,集合,文件