day 08
集合类型set基本使用
1、用途:去重(无法保证顺序)
msg = "hello" res = set(msg) print(' ',join(res)) names = ['egon','lxx','lili','egon','egon'] print(list(set(names)))
只能针对不可变元素的去重
students_info = [ {"name":"egon","age":18,"gender":"male"}, {"name":"tom","age":19,"gender":"male"}, {"name":"jack","age":28,"gender":"female"}, {"name":"egon","age":18,"gender":"male"}, ] new_l = [] for info in students_info: if info not in new_l: new_l.append(info) print(new_l)
关系运算
定义方式:在{}内用逗号分隔开多个元素,集合内元素的特点有三个
(1)集合内元素必须是不可变类型
(2)集合内元素不能重复
(3)集合内元素无序
s = {11,3.1,'xxx',(1,2,3)}
s = {11,11,11,11,22,33}
print(s)
print(type(s))
数据类型转换
res = set("hello") print(res) s = set print(s,type(s))
3、常用操作+内置的方法
python = {"tom","jack","alex","egon","lxx"}
linuxs = {"lili","hanmeimei","张三","egon","lxx","jay"}
(1)交集:取两个集合的共同部分--》即报名python又报名linux的学生
print(pythons & linuxs) print(pythons.intersection(linuxs)) pythons = pythons & linuxs pythons.intersection_updata(linuxs)
(2)并集:两个合计并到一起----》所有学生的姓名
print(pythons | linuxs) print(pythons.union(linuxs))
(3)差集:一个集合减掉与另一个合集共同的部分
只学了python的学生姓名
print(pythons - linuxs) print(pythons.difference(linuxs))
(4)交叉补集/对称差集:两个合计互相减,然后再并到一起----》取没有同时学两门课程的学生
res = (pythons - linuxs) | (linuxs - pythons) res = pythons ^ linuxs print(res) print(pythons.symmetric_difference(liunxs))
(5)父子集合:当一个集合完全包含了另外一个集合,该集合才能称爹
s1 = {1,2,3}
s2 = {3,4,5}
print(s1 >= s2)
print(s2 <= s1)
s1 = {1,2,3}
s2 = {1,2}
print(s1 >= s2)
print(s1.issuperset(s2))
print(s2 <= s1)
print(s2.issubset(s1))
s1 = {1,2,3}
1、update
s1.update({3,4,5})
print(s1)
2、add
s1.add(4) print(s1)
3、clear
s1.clear() print(s1)
4、copy
5、pop
6、remove
集合类型:存多个值,无序,可变
文件处理
文件是操作系统提供给用户或者应用程序操作硬盘的一种机制
为何要用文件
读写文件-----》存取硬盘
应用程序: open()
操作系统: 打开文件
计算机硬件: 硬盘空间
如何用文件
打开文件
读/写
关闭文件
f的值---》文件句柄,文件对象
f = open(r"a\a.txt",mode = "rt",) res = f.read() print(res.type(res))
回收操作系统的资源
f.close() print(res.type(res)) print(f) f.read()
with open(r"a\a.txt",mode = "rt",) as f,\ open(r"a\b.txt",mode = "rt",) as f1: res = f.read() with open(r"a\a.txt",mode = "rt",) as f: for line in f: #print(line) res = line.strip('\n').split(':') print(res)

浙公网安备 33010602011771号