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

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

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

  • 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 element
    • 4.查找元素:
      list[索引] 根据索引取值
      list.index(value) 值查询,跟字符串中find方法类似,但列表没有find方法,查询不到目的元素,index会报错.
      list.count(value) 统计value在列表中出现的次数
      in(存在) 一般在if判断中使用,如果存在那么条件为True,否则为False
      not in(不存在) 一般在if判断中使用,如果不存在那么条件为True,否则为False
    • 5.列表的排序:
      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!”)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值