关于python容器的相关知识点整理

xiaoxiao2025-10-16  10

容器知识点梳理(自整理)

需要指出的是,抓住其特点是掌握各类容器的关键.

1.序列式容器中关键点在于索引,大多数操作是通过索引进行增删改查操作的,其次还有直接通过值value查找.while遍历也是通过索引进行操作的.(注:与for循环不同的是,for循环通过指针进行寻址进行遍历操作.)

2.字典属于非序列式容器,其关键点在于其key键及其连接起来的键值对.通过查找key键可以进行相关增删改查操作,包括进行遍历操作.

字符串

1.字符串的定义及其初始化:

单引号对/双引号对/三对单引号对 引起来的部分: str = “hello Python”

2.字符串属于序列式容器,因此支持索引和切片操作. 注:序列式容器有索引,包括字符串/列表/元组.而字典和集合不属于序列式容器,因此不支持有关索引一系列操作.

3.字符串的相关操作 1.字符串的替换:replace 方法:会将所有选中value进行替换 格式: str.replace("","") / str.replace("","",count) count代表次数,即指此参数要求替换多少次. 注意:字符串本身不能被修改,这里的replace操作原理是先将字符串进行复制得到副本,再对副本进行修改操作.源字符串并不会发生任何改变.

2.字符串的删除: 注:字符串的删除操作看作是字符串的替换,即:str.replace(“要替换的字符”,"")

3.字符串的查找: find 方法: str.find(’’,start,end) 直接通过value进行查找,也可指定范围,左闭右开.该方法为目的字符串第一次出现的位置.(列表中没有find方法) str[索引] 直接可以取出单个字符,这与列表相同 与find方法非常类似的是index方法,格式相同,不过目的字符不存在则会报错,所以一般不使用index方法进行查找操作. rfind rindex方法类似 ,区别是开始位置在右侧.

4.字符串的其他方法: 1.切片(只要序列式容器均可进行切片操作): 格式: str[start?步长]: (具体见位置:E:\每日作业\基础班-day04\02_代码\第四天\python_02_切片.py) 2. string.isalpha() 如果 string 至少有一个字符并且所有字符都是字母则返回 True string.isdecimal() 如果 string 只包含数字则返回 True string.islower() 如果 string 中包含至少一个区分小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True string.isupper() 如果 string 中包含至少一个区分大写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True string.startswith(str) 检查字符串是否是以 str 开头,是则返回 True string.endswith(str) 检查字符串是否是以 str 结束,是则返回 True

3.字符串分割 string.split(str="",num) 返回列表,以 str 为分隔符拆分 string,如果 num 有指定值,则仅分隔 num + 1 个字符串,str 默认包含 ‘\r’, ‘\t’, ‘\n’ 和空格 string.splitlines() 返回列表,按照⾏(’\r’, ‘\n’, ‘\r\n’)分隔 string1 + string2 拼接两个字符串 string.strip() 返回新字符串,截掉 string 左右两边的空白字符 注:此处要想截掉中间部分,可用replace方法空白替换. 4.字符串拼接 “sep”.join(seq) 参数说明: sep:分隔符.可以为空

2.列表:

1.列表的定义: 不同于字符串,列表可以存储多种数据类型,并且可以自动识别,支持索引的一切相关操作(包括切片),并且可以通过索引直接进行修改元素.有关列表的定义格式为: list = [] /list = [10,“hello”,3.14,True]2.列表的相关操作 列表可以通过索引进行查找/修改元素等操作.可以通过切片访问元素. 对列表的遍历可直接通过访问value进行遍历. 1.增加元素: append方法: list.append(value) 使用append向列表添加的元素位于列表末尾 insert方法: list.insert(索引,value) 向指定位置插入元素 extend方法: list.extend(List) 将另外一个列表中的所有元素追加到当前列表的尾部2.删除元素: remove方法: list.remove(value) value删除.只删除第一次出现的元素. pop方法: list.pop(索引) 索引删除,若不指定则删除列表最后一个元素 ,返回被删除元素 del 方法: del list[索引] 删除指定索引的数据 list.clear() 清空列表3.修改元素: list[索引] = new element4.查找元素: list[索引] 根据索引取值 list.index(value) 值查询,跟字符串中find方法类似,但列表没有find方法,查询不到目的元素,index会报错. list.count(value) 统计value在列表中出现的次数 in(存在) 一般在if判断中使用,如果存在那么条件为True,否则为False not in(不存在) 一般在if判断中使用,如果不存在那么条件为True,否则为False5.列表的排序: sort方法: list.sort() 升序 list.sort(reverse = True) 降序 list.reverse() 逆序

3.元组:

1.元组的定义: Python的元组与列表类似, 不同之处在于元组的元素不能修改. 元组使用小括号来定义, 列表使用方括号来定义. 元组不支持修改, 所以元组只支持遍历、查找操作. my_tuple = (10, 20, 30) my_tuple = ((10, 20, 30), (100, 200, 300)) 注意:在列表定义中,如果只存在一个元素,则后必须加 , 加以分辨.2.元组的相关操作: 1.查找: tuple[索引] tuple.index(value) 跟列表用法相同,返回第一次出现的位置 tuple.count(value) 跟列表用法相同,统计出现的次数.

4.字典:

1.字典的定义: 字典中的每一个元素都是一个 “键值对”, 键值之间用冒号(:)分割, 每个字典元素(键值对)之间用逗号(,)分割, 整个字典包括在花括号 {} 中 info = {} / info = {key1:value1,key2:value2…}

2.字典的相关操作:

1.增加元素: info[key] = new element 键不存在,会添加键值对;键存在,会修改键值对的值.

2.删除元素: del info[key] 如果后面不跟key键,则删除该字典(del info) del.clear() 清空字典中的键值对 info.pop(key) 删除指定键值对,返回被删除的值 (此处思考,为什么没有remove方法,字典中的相关操作都是根据key键来实现的,不能对value直接操作)

3.查找元素: info[key] 从字典中取值,不存在会报错 info.get(key) 从字典中取值,不存在不会报错,返回none info.keys() 获取key键,返回列表 info.values() 获取value,返回列表 info.items() 获取键值对,返回列表

4.字典的遍历: 需要注意的是,字典的遍历是遍历全部键值对,不是单纯遍历值或者遍历key键,在此提供三种方法: 1.抓住key键,用keys方法获取键值,遍历键值后通过键值格式化输出全部键值对 2.先遍历键值对,用items方法便利完成后,格式化输出全部键值对. 3.定义变量 ,直接从字典中取值. 详情见:E:\exercise\day_05\day_05_字典的遍历

5.集合:

关于集合问题,可以看成是一个不存在重复元素的列表,其元素操作不尽相同,其中 添加元素用的是add方法: set.add(element) update方法可一次性添加多个元素. 创建一个空的set集合 my_set = set() //小括号 创建一个包含元素的集合 my_set = {10, 20, 30, 40} //大括号 用一个容器来创建集合(注意:set会剔除重复元素) my_set = set([1, 2, 3, 4, 5, 5]) 创建一个唯一元素的字符集合 my_set = set(“hello world!”)
转载请注明原文地址: https://www.6miu.com/read-5038006.html

最新回复(0)