一.集合
- 去重,把一个列表变成集合,自动去重
- 关系测试,测试两组数据的交集,并集,差集关系
- 集合是无序的
集合的操作:
list_1 = [1,4,5,7,3,6,7,9]
list_1 = set(list_1)
集合的交集获取操作:
list_2=set([3,6,7,9,8,2,1,3,5])
获取两个集合的交集操作如下:
list_1.intersection(list_2)
集合的并集获取操作:
lsit_1.union(list_2)
集合的差集获取操作:
list_1.difference(list_2)
集合的子集操作:
判断是list_1是否为list_2的子集:
list_1.issubset(list_2)
判断是list_1是否为list_2的父集:
list_1.issuperset(list_2)
集合的对称差集操作:
list_1.symmetric_difference(list_2)
集合的交集判断操作:
如果两个集合没有交集,就返回True,有交集则返回False
list_1.isdisjoint(list_2)
集合运算符操作:
交集符:&
并集符:|
差集:-
对称差集 :^
集合的基本操作:
t.add(5)#添加某一项 t.update([5,6,7]) #添加多项 t.remove(5)#删除某一项 len(t)#查询集合长度 x in t #判断x是否在集合t中 x not in t #判断x是否不在集合t中 list_1.pop()#随机删除某一个 list_1.discard(5)#删除5,如果不存在不报错
二.文件操作
文件的操作符
w:写文件,
a:文件末尾追加
r:读文件
r+:读和最后一行追加
w+:写读
a+:追加读
rb:二进制文件读
wb:二进制文件写
ab:二进制追加写
文件的打印:
for line in f:
print(f)
高效的打印方法,每次在内存中只打印一行,readline和readlines读取文件中的所有行,然后逐行打印
文件的操作方法:
f.readable()#判断文件是否是以只读模式打开的
打印进度条:
import sys,time for i in range(20): sys.stdout.write("#")#可以自动去除空格,print会自动打印空格 sys.stdout.flush()#刷新内存 time.sleep(0.1)
文件句柄指移动指针
文件句柄索引指针:f.tell()#返回文件句柄
文件句柄移动指针:f.seek()#移动文件句柄
三.字符编码
python3中文件编码默认为utf-8,变量等字符编码为unicode,切记。
四.函数
有返回值的为函数,没返回值的为过程
五.函数式编程与参数
六.局部变量与全局变量
七.递归
八.高阶函数