Python Day7
---恢复内容开始---
一 字典属性方法补充
key是不变的类型,字典能快速查找,基于哈希索引
不可变类型 int bool str tuple 可变类型:list dict set
1 clear :清空
# d={ # 'k1':'v1', # 'k2':'v2' # } # d.clear() # print(d) #清空 输出结果 {}
2 Cory:拷贝
提供了两种主要的copy方法,一种是普通的copy,另一种是deepcopy。我们称前者是浅拷贝,后者为深拷贝
1.浅拷贝
浅拷贝:不管多么复杂的数据结构,浅拷贝都只会copy一层
浅拷贝
# a={'fang','jie','lei','dong','tao'} # b=a.copy() #拷贝 # print(b) 输出结果 {'tao', 'lei', 'dong', 'fang', 'jie'}
---恢复内容结束---
一 字典属性方法补充
key是不变的类型,字典能快速查找,基于哈希索引
不可变类型 int bool str tuple 可变类型:list dict set
1 clear :清空
# d={ # 'k1':'v1', # 'k2':'v2' # } # d.clear() # print(d) #清空 输出结果 {}
2 Cory:拷贝
提供了两种主要的copy方法,一种是普通的copy,另一种是deepcopy。我们称前者是浅拷贝,后者为深拷贝
1.浅拷贝
浅拷贝:不管多么复杂的数据结构,浅拷贝都只会copy一层
浅拷贝
# a={'fang','jie','lei','dong','tao'} # b=a.copy() #拷贝 # print(b) 输出结果 {'tao', 'lei', 'dong', 'fang', 'jie'}
深拷贝
import copy a = [1, 2, 3, 4, ['a', 'b', 'c']] b = a c = copy.copy(a) d = copy.deepcopy(a) a.append(5) #操作1 a[4].append('hello') 输出结果 >>> a [1, 2, 0, 4, ['a', 'b', 'c', 'hello'], 5] >>> b [1, 2, 0, 4, ['a', 'b', 'c', 'hello'], 5] >>> c [1, 2, 3, 4, ['a', 'b', 'c', 'hello']] >>> d [1, 2, 3, 4, ['a', 'b', 'c']]
3 fromkeys:生成一个字典,类下面的一个属性方法
a=dict.fromkeys(['k1','k2','k3'],[1,2]) print(a) 输出代码 {'k1': [1, 2], 'k2': [1, 2], 'k3': [1, 2]}
4 pop :删除
d={ 'k1':'v1', 'k2':'v2' } d.pop('k1') print(d) 输出结果 {'k2': 'v2'}
5 popitem : 删除整个元素
# d={ # 'k1':'v1', # 'k2':'v2' # } # d.popitem() # print(d) #删除整个键值对 输出结果 {'k1': 'v1'}
二 集合以及集合的功能
集合是一个不存在重复的值,而且还是无序的。
1 add :添加不可能重复
# a={'fang','jie','lei','dong','tao'} # a.add('qq') #添加,如果集合里面有,就不会添加 # print(a) 输出结果 {'dong', 'qq', 'tao', 'lei', 'fang', 'jie'}
2 clear :清空
# a={'fang','jie','lei','dong','tao'} # a.clear() #清空 # print(a) 输出结果 set()
3 copy :拷贝
# a={'fang','jie','lei','dong','tao'} # b=a.copy() #拷贝 # print(b) 输出结果 {'jie', 'dong', 'tao', 'fang', 'lei'}
4 difference :差集只存在一个集合的
# 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)) #查看差集 输出结果 {'tao', 'dong', 'lei', 'jie'} {'tao', 'dong', 'lei', 'jie'}
5 discard :根据对象删除
# a={'fang','jie','lei','dong','tao'} # b={'fang','rei','cheng'} # a.discard('jie') # print(a) #删除 输出结果 {'lei', 'dong', 'fang', 'tao'}
6 intersection:交集
# 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)) #交集 输出结果 {'fang'} {'fang'}
7 union :并集
# 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)) #并集 输出结果 {'dong', 'cheng', 'tao', 'fang', 'lei', 'jie', 'rei'} {'dong', 'cheng', 'tao', 'fang', 'lei', 'jie', 'rei'}
8 pop 随机删除
# a={'fang','jie','lei','dong','tao'} # a.pop() # print(a) #随机删除 输出结果 {'tao', 'fang', 'lei', 'jie'}
9 remove :指定删除
# a={'fang','jie','lei','dong','tao'} # a.remove('fang') # print(a) #指定元素删除 输出结果 {'jie', 'dong', 'tao', 'lei'}
10 update :更新
# a={'fang','jie','lei','dong','tao'} # b={'fang','rei','cheng'} # a.update() # print(a) #更新 输出结果 {'tao', 'lei', 'fang', 'dong', 'jie'}
set一般的情况下,集合属性前面必须放集合,属性后面可以放任意的数据类型,集合里面的值是不可以变得。{}默认是字典,想要创建集合就是set()
三 文件操作
文件的常用方法右
1,r(read):读取文件,只能读取,不能其他操作; r+:不光是可以读取,而且还可以写入,r+是先读取再写入
2 ,w(write):写入文件,只能写入; w+:不过可以写入,而且还可以写入过后再去读取。
3 ,a(append):追加内容,只能追加; a+:追加过后还可以读取文件
# #以bytes类型写入文件 # a=b'\xe4\xbd\xa0\xe4\xb8\xaa\xe5\xa4\xa7\xe5\x82\xbb\xe5\x8f\x89\r\n\xe9\x82\xa3\xe4\xba\xba\xe5\xb0\xb1\xe6\x98\xaf\xe4\xbd\xa0' # f=open(r'E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','wb') # b=f.write(a) # f.close() # # #以w覆盖的方式写入 # f=open(r'E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','w',encoding='utf-8') # b=f.write('dsdf') # f.close() # # f=open(r'E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','w+',encoding='utf-8') # f.write('dsdfdfsd') # f.seek(0) #seek()指定光标的位置 # a=f.read() # f.close() # print(a) # a#追加的方式添加 # f=open(r'E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','a',encoding='utf-8') # b=f.write('dsdf') # f.close() ##追加过后再读取 # f=open(r'E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','a+',encoding='utf-8') # b=f.write('dsdf') # f.seek(0) # a=f.read() # f.close() # print(a) # #以bytes类型读取 # f=open('E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt',mode='rb') # a=f.read() # f.close() # print(a) # # #以utf-8格式读取 # f=open('E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt',mode='r',encoding='utf-8') # a=f.read() # f.close() # print(a) ##先读取在追加 # f=open('E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt',mode='r+',encoding='utf-8') # a=f.read() # f.seek(3) # f.write('jie') # f.close() # print(a)
文件下的属性操作:
1 read:读取文件
# with open('E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','r',encoding='utf-8')as f : # obj=f.read() # print(obj)
2 write:写入文件
#格式2 : # with open('E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','w',encoding='utf-8')as f : # f.write('yi')
3 seek:调整光标的位置
# f=open(r'E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','w+',encoding='utf-8') # f.write('dsdfdfsd') # f.seek(0) #seek()指定光标的位置 # a=f.read() # f.close() # print(a)
文本操作例子
# 读取utf-8编码数据,【转换】成unicode(str)编码的数据 # obj = open('D:\美女模特空姐护士联系方式.txt',encoding='utf-8',mode='r') # content = obj.read() # obj.close() # print(content,type(content))