day08:集合、文件处理初解

今日内容:
1、集合类型
去重
关系运算
类型总结
 
2、文件处理
基本使用
with语法:上下文管理
文件打开的模式 t
字符编码
 
一、集合set
作用:去重(鸡肋):
(1)无法保证顺序
(2)只能针对不可变元素去重
 
定义:
在{}内用逗号分隔开多个元素
1.集合内元素必须是不可变类型
2.集合内元素不能重复
3.集合内元素无序
 
实际场景中,用for循环+if判断,去重并添加到新列表中:这样既能有序,又可针对不可变元素
students_info = [
{"name": "jay", "age": 18, "gender": "male"},
{"name": "tom", "age": 19, "gender": "male"},
{"name": "lili", "age": 38, "gender": "female"},
{"name": "jay", "age": 18, "gender": "male"},
{"name": "jay", "age": 18, "gender": "male"},
]
解答: 
new_l = []
for info in students_info:
if info not in new_l:
new_l.append(info)
print(new_l)
 
数据类型转换:
res = set("hello")
print(res)
 
s = set()
print(s,type(s))
 
常规操作+内置方法:
pythons = {'jay','tom','bob','tony','seven'}
linuxs = {'jay','seven','jack','lili'}
 
1.交集 &
print(pythons & linuxs)
 
2.并集 |
print(pythons | linuxs)
 
3.差集 -
print(pythons - linuxs)
print(linuxs - pythons)
 
4.交叉补集 / 对称差集 ^
print(pythons - linuxs | linuxs - pythons)
————》
print(pythons ^ linuxs)
 
5.父子集:当一个集合完全包含了另一个集合,才为父 > >=
 
需要掌握的:
1.update
2.add
3.删除
remove当删除的元素不存在时,报错
discard当删除的元素不存在时,啥都不做
pop随机删除
clear清除所有
4.copy
5.isdisjoint
 
总结 字典类型-----map类型
1.按存储空间的占用分(从低到高)
int、float
str
set
tuple
list
dict
 
2.按存值个数:
标量/原子类型:int、float
容器类型:list、 couple、dict 、set
 
3.按可变不可变:
可变:list、dict、set
不可变:int、float、str、couple
 
4.按访问顺序:
直接访问:int、float
顺序访问(序列类型):str、list、couple
key访问(映射类型):dict
 
二 、文件处理
1、什么是文件?
文件是操作系统提供给用户或者应用程序操作硬盘的一种机制、功能
 
2、为何要用文件?
读写文件————————》存取硬盘
 
 
应用程序:     open()
操作系统:     打开文件
计算机硬件:       硬盘空间
 
 
3、怎么用文件?
打开文件
读 / 写
关闭文件
 
引入:句柄、with上下文管理
f = open(r"a\a.txt", mode="rt",)
f的值---》句柄(遥控器)
 
with open(r"a\a.txt",mode="rt",) as f,\
open(r"a\b.txt",mode="rt",) as f1:
res = f.read()
 
 

posted @ 2020-12-24 21:03  Seven_1130  阅读(35)  评论(0)    收藏  举报