一 字典属性方法补充
key是不变的类型,字典能快速查找,基于哈希索引
不可变类型 int bool str tuple 可变类型:list dict set
1 clear :清空
1
2
3
4
5
6
|
# d={ # 'k1':'v1', # 'k2':'v2' # } # d.clear() # print(d) #清空 |
2 Cory:拷贝
1
2
3
4
5
6
|
# d={ # 'k1':'v1', # 'k2':'v2' # } # a=d.copy() # print(a) #拷贝 |
3 fromkeys:生成一个字典,类下面的一个属性方法
1
2
|
a = dict .fromkeys([ 'k1' , 'k2' , 'k3' ],[ 1 , 2 ]) print (a) |
4 pop :删除
1
2
3
4
5
6
|
# d={ # 'k1':'v1', # 'k2':'v2' # } # d.pop('k1') # print(d) #按照key删除 |
5 popitem : 删除整个元素
1
2
3
4
5
6
|
# d={ # 'k1':'v1', # 'k2':'v2' # } # d.popitem() # print(d) #删除整个键值对 |
6 setdefault:只添加不修改
1
2
3
4
5
6
|
# d={ # 'k1':'v1', # 'k2':'v2' # } # d.setdefault('k3','v3') # print(d) #添加元素 |
7 update :存在的话跟新,没有就会添加
1
2
3
4
5
6
|
# d={ # 'k1':'v1', # 'k2':'v2' # } # d.update({'k2':'v3','k3':'v2'}) # print(d) #添加,如果key存在,修改value值 |
二 集合以及集合的功能
集合是一个不存在重复的值,而且还是无序的。
1 add :添加不可能重复
1
2
3
|
# a={'fang','jie','lei','dong','tao'} # a.add('qq') #添加,如果集合里面有,就不会添加 # print(a) |
2 clear :清空
1
2
3
|
# a={'fang','jie','lei','dong','tao'} # a.clear() #清空 # print(a) |
3 copy :拷贝
1
2
3
|
# a={'fang','jie','lei','dong','tao'} # b=a.copy() #拷贝 # print(b) |
4 difference :差集只存在一个集合的
1
2
3
4
5
6
7
|
# a={'fang','jie','lei','dong','tao'} # b={'fang','rei','cheng'} # print(a - b) #差集 # a={'fang','jie','lei','dong','tao'} # b={'fang','rei','cheng'} # print(a.difference(b)) #查看差集 |
5 difference_update:找差集并更新
1
2
3
4
|
# a={'fang','jie','lei','dong','tao'} # b={'fang','rei','cheng'} # a.difference_update(b) # print(a) #查找差集并更新 |
6 symmetric_difference :找对称差集
1
2
3
4
5
6
7
|
# a={'fang','jie','lei','dong','tao'} # b={'fang','rei','cheng'} # print(a ^ b) #对称差集 # # a={'fang','jie','lei','dong','tao'} # b={'fang','rei','cheng'} # print(a.symmetric_difference(b)) #查看对称差集 |
7 symmetric_difference_update: 着对称差集并更新
1
2
3
4
|
# a={'fang','jie','lei','dong','tao'} # b={'fang','rei','cheng'} # a.symmetric_difference_update(b) # print(a) #查找对称差集并更新 |
8 discard :根据对象删除
1
2
3
4
|
# a={'fang','jie','lei','dong','tao'} # b={'fang','rei','cheng'} # a.discard('jie') # print(a) #删除 |
9 intersection:交集
1
2
3
4
5
6
7
|
# a={'fang','jie','lei','dong','tao'} # b={'fang','rei','cheng'} # print(a & b) #交集 # a={'fang','jie','lei','dong','tao'} # b={'fang','rei','cheng'} # print(a.intersection(b)) #交集 |
10 intersection_update:交集并更新
1
2
3
4
|
# a={'fang','jie','lei','dong','tao'} # b={'fang','rei','cheng'} # a.intersection_update(b) # print(a) #查找并集并更新 |
11 union :并集
1
2
3
4
5
6
7
|
# a={'fang','jie','lei','dong','tao'} # b={'fang','rei','cheng'} # print(a | b) #并集 # # a={'fang','jie','lei','dong','tao'} # b={'fang','rei','cheng'} # print(a.union(b)) #并集 |
12 isdisjoint :判断是否无交集
1
2
3
|
# a={'fang','jie','lei','dong','tao'} # b={'fang','rei','cheng'} # print(a.isdisjoint(b)) #判断是否无交集 |
13 iscubset :判断是否是子集
1
2
3
|
# a={'fang','jie','lei','dong','tao'} # b={'fang','jie'} # print(b.issubset(a)) #判断b是不是a的子集 |
14 issuperset :判断是否是父集
1
2
3
|
# a={'fang','jie','lei','dong','tao'} # b={'fang','jie'} # print(a.issuperset(b)) #判断a是不是b的父集 |
15 pop 随机删除
1
2
3
|
# a={'fang','jie','lei','dong','tao'} # a.pop() # print(a) #随机删除 |
16 remove :指定删除
1
2
3
|
# a={'fang','jie','lei','dong','tao'} # a.remove('fang') # print(a) #指定元素删除 |
17 update :更新
1
2
3
4
|
# a={'fang','jie','lei','dong','tao'} # b={'fang','rei','cheng'} # a.update() # print(a) #更新 |
18 len :长度
1
2
|
# a={'fang','jie','lei','dong','tao'} # print(len(a)) |
set一般的情况下,集合属性前面必须放集合,属性后面可以放任意的数据类型,集合里面的值是不可以变得。{}默认是字典,想要创建集合就是set()
三 文件操作
文件的常用方法右
1,r(read):读取文件,只能读取,不能其他操作; r+:不光是可以读取,而且还可以写入,r+是先读取再写入
2 ,w(write):写入文件,只能写入; w+:不过可以写入,而且还可以写入过后再去读取。
3 ,a(append):追加内容,只能追加; a+:追加过后还可以读取文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
# #以bytes类型写入文件 # a=b'xe4xbdxa0xe4xb8xaaxe5xa4xa7xe5x82xbbxe5x8fx89
xe9x82xa3xe4xbaxbaxe5xb0xb1xe6x98xafxe4xbdxa0' # f=open(r'E:pycharmpycharmPyCharm Community Edition 2017.1.3day7jie.txt','wb') # b=f.write(a) # f.close() # # #以w覆盖的方式写入 # f=open(r'E:pycharmpycharmPyCharm Community Edition 2017.1.3day7jie.txt','w',encoding='utf-8') # b=f.write('dsdf') # f.close() # # f=open(r'E:pycharmpycharmPyCharm Community Edition 2017.1.3day7jie.txt','w+',encoding='utf-8') # f.write('dsdfdfsd') # f.seek(0) #seek()指定光标的位置 # a=f.read() # f.close() # print(a) # a#追加的方式添加 # f=open(r'E:pycharmpycharmPyCharm Community Edition 2017.1.3day7jie.txt','a',encoding='utf-8') # b=f.write('dsdf') # f.close() ##追加过后再读取 # f=open(r'E:pycharmpycharmPyCharm Community Edition 2017.1.3day7jie.txt','a+',encoding='utf-8') # b=f.write('dsdf') # f.seek(0) # a=f.read() # f.close() # print(a) # #以bytes类型读取 # f=open('E:pycharmpycharmPyCharm Community Edition 2017.1.3day7jie.txt',mode='rb') # a=f.read() # f.close() # print(a) # # #以utf-8格式读取 # f=open('E:pycharmpycharmPyCharm Community Edition 2017.1.3day7jie.txt',mode='r',encoding='utf-8') # a=f.read() # f.close() # print(a) ##先读取在追加 # f=open('E:pycharmpycharmPyCharm Community Edition 2017.1.3day7jie.txt',mode='r+',encoding='utf-8') # a=f.read() # f.seek(3) # f.write('jie') # f.close() # print(a) # |
文件下的属性操作:
1 read:读取文件
1
2
3
|
# with open('E:pycharmpycharmPyCharm Community Edition 2017.1.3day7jie.txt','r',encoding='utf-8')as f : # obj=f.read() # print(obj) |
2 write:写入文件
1
2
3
|
#格式2 : # with open('E:pycharmpycharmPyCharm Community Edition 2017.1.3day7jie.txt','w',encoding='utf-8')as f : # f.write('yi') |
3 seek:调整光标的位置
1
2
3
4
5
6
|
# f=open(r'E:pycharmpycharmPyCharm Community Edition 2017.1.3day7jie.txt','w+',encoding='utf-8') # f.write('dsdfdfsd') # f.seek(0) #seek()指定光标的位置 # a=f.read() # f.close() # print(a) |
4 tell:读取光标的位置
1
2
3
4
|
# f=open(r'E:pycharmpycharmPyCharm Community Edition 2017.1.3day7jie.txt','w+',encoding='utf-8') # f.write('dsdfdfsd
fsd
fgs') # a=f.tell() #查找光标的位置 # print(a) |
5 writable:是否可写
1
2
3
|
# f=open(r'E:pycharmpycharmPyCharm Community Edition 2017.1.3day7jie.txt','w+',encoding='utf-8') # a=f.writable() #判断是否可写 # print(a) |
6 readable:是否可读
1
2
3
4
5
6
|
# f=open(r'E:pycharmpycharmPyCharm Community Edition 2017.1.3day7jie.txt','w+',encoding='utf-8') # f.write('dsdfdfsd
fsd
fgs') # f.seek(0) # a=f.readable() #判断是否可读 # f.close() # print(a) |
7 close:关闭文件
1
2
3
|
# f=open(r'E:pycharmpycharmPyCharm Community Edition 2017.1.3day7jie.txt','w+',encoding='utf-8') # f.write('dsdfdfsd
fsd
fgs
das') # f.close() #关闭 |
8 flush:刷到硬盘
1
2
3
4
5
6
7
|
# f=open('E:pycharmpycharmPyCharm Community Edition 2017.1.3day7jie.txt',mode='r+',encoding='utf-8') # a=f.read() # f.seek(3) # f.flush() #flush 刷到硬盘 # f.write('jie') # f.close() # print(a) |
9 fileno:文件对象
1
2
3
4
5
|
# f=open(r'E:pycharmpycharmPyCharm Community Edition 2017.1.3day7jie.txt','w+',encoding='utf-8') # f.write('dsdfdfsd
fsd
fgs
das') # a=f.fileno() #文件对象 # f.close() # print(a) |
10 isatty :判断是否输出设备
1
2
3
4
5
6
|
# f=open(r'E:pycharmpycharmPyCharm Community Edition 2017.1.3day7jie.txt','w+',encoding='utf-8') # f.write('dsdfdfsd
fsd
fgs') # f.seek(0) # a=f.isatty() #判断是否是输出设备 # f.close() # print(a) |
11 readline:读取一行内容
1
2
3
4
5
6
|
# f=open(r'E:pycharmpycharmPyCharm Community Edition 2017.1.3day7jie.txt','w+',encoding='utf-8') # f.write('dsdfdfsd
fsd
fgs') # f.seek(0) # a=f.readline() #只读取整行 # f.close() # print(a) |
12 seekable:判断是否可设置指针
1
2
3
4
|
# f=open(r'E:pycharmpycharmPyCharm Community Edition 2017.1.3day7jie.txt','w+',encoding='utf-8') # f.write('dsdfdfsd
fsd
fgs') # a=f.seekable() #判断是否可设置指针 # print(a) |
13 truncate : 光标后面的内容不要了,只要光标前面的内容
1
2
3
4
|
# f=open(r'E:pycharmpycharmPyCharm Community Edition 2017.1.3day7jie.txt','w+',encoding='utf-8') # f.write('dsdfdfsd
fsd
fgs
das') # f.truncate(5) #指定光标的位置,然后再保留光标前面的内容是删除光标后面的内容 # f.close() |
14 readlines:读取所有的内容,然后一块督导内存
1
2
3
4
5
6
|
# f=open(r'E:pycharmpycharmPyCharm Community Edition 2017.1.3day7jie.txt','w+',encoding='utf-8') # f.write('dsdfdfsd
fsd
fgs') # f.seek(0) # a=f.readlines() #全部读取,返回是列表,元素字符串 # f.close() # print(a) |
python2 中的xreadlines就相当于python3中的for line in f:
1
2
3
4
5
6
|
# f=open(r'E:pycharmpycharmPyCharm Community Edition 2017.1.3day7jie.txt','w+',encoding='utf-8') # f.write('dsdfdfsd
fsd
fgs') # f.seek(0) # for line in f: # print(line) # f.close() |