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))

 


posted @ 2017-08-25 23:29  大象和骆驼  阅读(156)  评论(0编辑  收藏  举报