集合是一个无序的,不重复的数据组合,它的主要作用如下:
-
去重,把一个列表变成集合,就自动去重了
-
关系测试,测试两组数据之前的交集、差集、并集等关系
In [1]: s=set([1,2,3,4]) #创建一个数字集合 In [2]: s Out[2]: {1, 2, 3, 4} In [3]: t=set("hello") #创建一个字符集合 In [4]: t Out[4]: {‘e‘, ‘h‘, ‘l‘, ‘o‘} In [5]: a=t|s #s与t 的并集 In [6]: a Out[6]: {1, 2, 3, 4, ‘e‘, ‘h‘, ‘l‘, ‘o‘} In [7]: b=t&s # s与t的交集 In [8]: b Out[8]: set() In [9]: c=t-s #求差集(项在t中,但不在s中) In [10]: c Out[10]: {‘e‘, ‘h‘, ‘l‘, ‘o‘} In [11]: d=t^s #求对称差集(项在t或s中,但不会同时出现在二者中) In [12]: d Out[12]: {1, 2, 3, 4, ‘e‘, ‘h‘, ‘l‘, ‘o‘} In [13]: t.add(‘x‘) #添加一项 In [14]: t Out[14]: {‘e‘, ‘h‘, ‘l‘, ‘o‘, ‘x‘} In [15]: s.update({5,6,7}) #添加多项 In [16]: s Out[16]: {1, 2, 3, 4, 5, 6, 7} In [17]: s.add(8) In [18]: s Out[18]: {1, 2, 3, 4, 5, 6, 7, 8} In [19]: s.remove(8) #删除其中一项 In [20]: s Out[20]: {1, 2, 3, 4, 5, 6, 7} In [21]: len(s) #求长度 Out[21]: 7 In [22]: s.issubset(t) #测试是否s中的每一个元素都在t中 Out[22]: False In [23]: s.issuperset(t) #测试是否t中的每一个元素都在s中 Out[23]: False tell():打印当前的光标位置以字符为单位 seek():回到起始位置
文件操作
f=open("song",encoding="utf-8") #打开文件 # first_line=f.readline() #读取其中一行 # print("first line:",first_line) # f.close() # f=open("yesterday","a",encoding="utf-8") #文件追加 # # f.write("\n我爱北京天安门!!") # # f.close() f=open("song","r",encoding="utf-8") # for i in range(5): # print(f.readline()) # count=0 # for line in f.readlines(): # count+=1 # if count==5: # print("---------------------") # continue # print(line.strip()) # for index,line in enumerate(f.readlines()): # if index==9: # print("-------------------------") # continue # print(line.strip()) for line in f: print(line) f.close()
-
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("song","rb") #读取二进制文件 f=open("song","wb") #写二进制文件 # print(f.readline()) f.write("hello binary\n".encode()) f.close()
打印进度条
import sys import time for i in range(20): sys.stdout.write("#") sys.stdout.flush() time.sleep(0.1)