python基础4之集合和文件操作

 

 

一 字典属性方法补充

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()
原文地址:https://www.cnblogs.com/li134655/p/7441521.html