@集合运算
s.union(t) s | t 返回一个新的 set 包含 s 和 t 中的每一个元素 s.intersection(t) s & t 返回一个新的 set 包含 s 和 t 中的公共元素 s.difference(t) s - t 返回一个新的 set 包含 s 中有但是 t 中没有的元素 s.symmetric_difference(t) s ^ t 返回一个新的 set 包含 s 和 t 中不重复的元素
@集合增删
t.add('x') # 添加一项 s.update([10,37,42]) # 在s中添加多项 t.remove('H')
t.pop()#随机,不能指定
t.discard()#没有不报错
@集合判断
s.issubset(t) s <= t #测试是否 s 中的每一个元素都在 t 中 s.issuperset(t) s >= t #测试是否 t 中的每一个元素都在 s 中
s.isdisjoint(t)
#有没有交集
@文件句柄
f = open("yesterday2",'a',encoding="utf-8") ;
f = open("yesterday2",'wb')
f.write("hello binary\n".encode());
with open(‘m’,’r’,encoding=’utf-8’) as f1,open(…) as f2:
@文件操作
f.tell()#按字符计数确认现在的光标位置
f.seek(0)#光标回到初始位置,tty等文件移动不了光标
#f.seek(3)中3是从开始数 3个字节后,需要根据编码进行判断是几个字符;f.read(3)是三个字符
f.encoding()#查看编码
f.name
f.seekable()#判断是否可以移动光标(\r)
f.readable()
f.flush()#实时将内存数据刷到硬盘,和sys,time库一起做进度条
f.truncate(10)#截断,从开始截,如果无参数就是清空。
for line in f:#读一行删一行,不占内存;
@为何会多出这个空行呢?因为read()到达文件末尾时返回一个空字符串,而将这个空字符串显示出来时就是一个空行。