python学习第八天
一.列表的相关函数
(1)向列表中添加元素
1.append:向列表的末尾添加新的元素
如:变量.append(添加的元素)
2.insert:在指定索引之前插入元素
如: 变量.insert(索引下标,添加的元素)
3.extend:迭代追加所有元素
如:变量.extend(可迭代的对象)
(2)删除列表中的元素
1.pop:通过指定索引删除元素,若没有索引则移除最后一个元素(推荐)
如:变量.pop(索引)
2.remove:通过给予的值来删除,如果有多个相同元素则默认删除第一个
如:变量.remove(删除的元素)
3.clear:清空列表
如:变量.clear()
(3)修改和查找列表:可参考列表的操作
1.index:获取某个元素在列表中的索引(当值不存在时会报错)
如:变量.index(某个元素)
2.count:计算某个元素出现的次数
如:变量.count(某个元素)
3.sort:列表的排序(数字默认从小到大排序)
如:变量.sort()
对字母进行排序(依照ascii编码)
可以对中文进行排序,但是没有规律可循
4.reverse:列表反转操作(水平反转)
如:变量.reverse()
二.元组的相关操作和方法
元组的相关操作除了不能修改和删除其中的元素之外,剩下的操作都和列表相同
元组中的函数只有两个count和index跟列表中的方法使用一模一样
三.深拷贝和浅拷贝
(1)浅拷贝:只拷贝第一层级所有的元素,其他层级延续以前的数据
语法:copy.copy(listvar)(推荐使用)或者listvar.copy()
(2)深拷贝:所有层级的元素都单独拷贝一份,形成独立的副本
语法:copy.deepcopy()
深拷贝可以应用在字典中
浅拷贝和深拷贝比,浅拷贝更快
copy模块的copy方法和python内置的函数copy一样,都是浅拷贝
地址:不可变数据会暂时指向原数据,可变数据会独立开辟新空间
四.字典相关函数
(1)字典的增加
1.推荐使用
dic={ }
dic["top"] = "韩国shai哥"
dic["middle"] = "肉鸡rookie"
print(dic)
2. fromkeys() : 使用一组键和默认值创建字典
lst = ["a","b","c"]
dic ={ }.fromkeys(lst,None)
print(dic)
注意:在使用fromkeys给字典一个键的值添加元素时,其他键所对应的值都会跟着改变
(2)字典的删除
1.pop:通过键取删除键值对(若没有该键可设置默认值,预防报错)
如:res=dicpop("bottom123","没有")
2.popitem:删除最后一个键值对
如:res = dic.popitem()
3.clear:清空字典
如:dic.clear()
(3)字典的改
1.update:批量更新(有该键就更新,没有该键就添加)
如:
1,(推荐使用)
dic={"ww":"大帅哥","spd":"渣男"}
newdic={"ww":"大帅哥","wz":"一表人才"}
dic.update(newdic)
print(dic)
2,
dic.update(hj="未来战士,wyq="敬茶"
print(dict)
(4)字典的查
1.get:通过键获取值(若没有该键可设置默认值,预防报错)
其他函数:
1.keys:将字典的键组成新的可迭代对象
2.values:将字典中的值组成新的可迭代对象
3.items:将字典的键值对凑成一个个元组,组成新的可迭代对象
五.集合的相关操作(交差并补)
(1) intersection:交集
如:chao = set1.intersection(set2)
简写: &
chao = set1&set2)
(2) difference:差集
简写: -
(3) union:并集
简写: |
(4) symmetric_difference:对称差集(补集情况涵盖在其中)
简写: ^
(5)issubset:判断是否是子集
简写: <
(6)issuperset:判断是否是父集
简写: >
(7)isdisjoint:检测两集合是否不相交,不相交为True,相交为False
集合相关的函数
(1) 增
1.add:向集合中添加数据(一次加一个)
2.update:迭代着增加(一次加一堆)
(2)删
1.clear:清空集合
2.pop:随机删除集合中的一个数据
3.discard:删除集合中指定的值(不存在的不删除,推荐使用)
4.remove:删除集合中指定的值(不存在则报错,了解)
(3)冰冻集合(了解)
frozenset:可强转容器类型数据变成冰冻集合
特征:冰冻集合一旦创建,不能再做任何的添加或者删除操作,只能做交差并补
六.文件操作
fp=open("文件名","模式","字符编码集")
fp:文件的io对象(文件句柄)
i: input 输入
o:output输出
(1)文件的写入操作(write)
1.打开文件
文件不存在则创建文件,存在的话则打开清空内容,并且将文件指针放在文件的开头
fp = open("文件路径",mode="w",encoding="utf-8)
2.写入内容
fp.write(内容)
3.关闭文件
fp.close()
(2)文件的读取操作(read)
1.打开文件
文件不存在则报错! 存在的话则打开文件,并且将文件指针放在文件的开头
fp = open("文件路径",mode="r",encoding="utf-8)
2.读取内容
res = fp.read()
3.关闭文件
fp.close()
(3)字节流的转换
二进制的字节流:用来传输或者存储的数据 bytes
b开头的字符串,内容必须是assii编码
将字符串和字节流(Bytes流)类型进行转换 (参数写成转化的字符编码格式)
encode() 编码 将字符串转化为字节流(Bytes流)
decode() 解码 将Bytes流转化为字符串
(4)存储字节流
wb和rb用来存储和读取二进制字节流,字节流模式下无需指定编码集
1.打开文件
fp = open("文件路径",mode="wb")
2.写入字节流
fp.write(二进制字节流)
3.关闭文件
fp.close()
(5)读取字节流
1.打开文件
fp = open("文件路径",mode="rb")
2.读取字节流
res = fp.read()
3.关闭文件
fp.close()