python学习第八天

huanghong 2020-05-08

一.列表的相关函数

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

相关推荐