python五大容器
python五大容器
文章目录
前言
随着AI智能体技术的快速演进,智能体应用开发已成为数字化转型的核心驱动力,掌握AI智能体应用已成为个人和企业提升竞争力的关键。
容器入门

容器概念: 可以容纳多个元素的python数据类型,就是容器
容器分类: 字符串str 列表list 元组tuple 集合set 字典dict
有序可重复: 字符串 列表 元组无序不重复: 集合 字典
本身内容可以修改: 列表 集合 字典
不可以修改的: 字符串 元组
字符串容器
字符串是不可变类型
字符串的定义
定义空字符串: '' "" '''''' """""" str()
定义非空字符串: '字符内容' "字符内容" '''字符内容''' """字符内容"""
注意: 引号可以嵌套包裹
字符串的下标索引
索引: 也叫下标,就是咱们所说的编号,只是这个编号比较特殊,有两套编号
正索引:从左到右,从0开始依次递增
负索引:从右到左,从-1开始依次递减
字符串名[索引]: 查询指定索引位置处的元素
字符串的切片操作
切片的前提:是容器要有索引!!!
切片的格式:字符串名[起始索引:结束标记(不含):步长]
切片的特点:包左不包右,起始索引如果不写默认从头开始,结束标记不写默认到末尾,步长默认是1
切片的方向:步长如果是正数0就是头,步长如果是负数-1就是头
举例:
字符串: i t h e i m a
正索引: 0 1 2 3 4 5 6
负索引:-7-6-5-4-3-2-1
字符串的查

查
字符串名[索引]: 查询指定索引位置处的元素
字符串名.count(元素):查询指定元素在字符串中出现的次数 注意:如果元素不存在就返回0
字符串名.index(元素):查询指定元素在字符串中出现的索引位置 注意:如果元素多个只返回第一个,如果不存在就报错
len(字符串名): 查询指定字符串的元素总个数
字符串的特有操作

replace(旧字符串,新字符串,替换几次): 把指定旧字符串替换为新字符串,默认替换所有
strip(): 默认就是去除两端的空白
split(分隔符,切几次): 根据指定分隔符切割字符串,默认切所有并放到列表中
分隔符.join(存储了字符串的容器): 用指定分隔符把容器中的字符串拼接一个大字符串
startswith(字符串): 判断是否以指定字符串开头
endswith(字符串): 判断是否以指定字符串结尾
encode(编码): 编码操作
decode(编码): 解码操作
upper(): 把所有字母都转为大写
lower(): 把所有字母都转为小写
find(元素):从左往右查找指定元素在字符串中出现的索引位置(正索引),如果不存在就返回-1
rfind(元素):从右往左查找指定元素在字符串中出现的索引位置(正索引),如果不存在就返回-1
isdigit(): 判断字符串内容是否是数字
…
字符串的遍历
for循环又叫遍历循环,格式如下:
for 元素变量 in 字符串:
循环体
while循环,用变量充当索引使用,格式如下:
index = 0
while index < len(字符串):
元素变量 = 字符串[index]
循环体
index += 1
字符串的特点
可以容纳多个元素
元素只能是字符!!!
元素可以重复
元素不可以修改!!!
元素是有序的
元素是有下标索引
支持for循环遍历
支持while循环遍历
列表的定义
定义空列表: [] 或者 list()
定义非空列表: [元素1,元素2,元素3, …]
列表支持嵌套: [ [元素…] , [元素…] ]
列表的下标索引
索引: 也叫下标,就是咱们所说的编号,只是这个编号比较特殊,有两套编号
正索引:从左到右,从0开始依次递增
负索引:从右到左,从-1开始依次递减
列表名[索引]: 查询指定索引位置处的元素
列表的增删改查
增
列表名.append(元素): 把指定元素追加到对应列表中
列表名.extend(容器): 把指定容器中的元素依次取出追加到对应列表中
列表名.insert(索引,元素): 把指定元素插入到对应列表的指定索引位置
删
列表名.pop(索引): 把指定索引位置处元素从列表中删除
del 列表名[索引]: 把指定索引位置处元素从列表中删除
列表名.remove(元素): 把指定元素直接从列表中删除 注意:一次只会删除一个 重点
列表名.clear(): 清空列表中所有元素
del 列表名: 删除整个列表
改
列表名[索引] = 新元素 : 修改列表指定索引位置的元素
查
列表名[索引]: 查询指定索引位置处的元素
列表名.count(元素):查询指定元素在列表中出现的次数 注意:如果元素不存在就返回0
列表名.index(元素):查询指定元素在列表中出现的索引位置 注意:如果元素不存在就报错,多个只返回第一个位置
len(列表名): 查询指定列表的元素总个数
列表的遍历
for循环又叫遍历循环,格式如下:
for 元素变量 in 列表名:
循环体
while循环,用变量充当索引使用,格式如下:
index = 0
while index < len(列表名):
元素变量 = 列表名[index]
循环体
index += 1
列表的特点
"""列表是可变类型"""
"""
列表的特点:
1.支持容纳多个元素
2.支持for循环遍历
3.支持修改操作
4.能存储任意类型数据
5.有下标索引->支持while循环
6.有下标索引->有序(存进去和取出来顺序一致)
7.有下标索引->可以重复
"""
元组的定义
定义空元组: () 或者 tuple()
定义非空元组: (元素1,元素2,元素3,…)
注意!!!: 如果元组中只有一个元素,必须加逗号 格式: (元素,)
元组的下标索引
索引: 也叫下标,就是咱们所说的编号,只是这个编号比较特殊,有两套编号
正索引:从左到右,从0开始依次递增
负索引:从右到左,从-1开始依次递减
元组名[索引]: 查询指定索引位置处的元素
元组的查
查
元组名[索引]: 查询指定索引位置处的元素
元组名.count(元素):查询指定元素在元组中出现的次数 注意:如果元素不存在就返回0
元组名.index(元素):查询指定元素在元组中出现的索引位置 注意:如果元素不存在就报错,多个只返回第一个位置
len(元组名): 查询指定元组的元素总个数
元组的遍历
for循环又叫遍历循环,格式如下:
for 元素变量 in 元组名:
循环体
while循环,用变量充当索引使用,格式如下:
index = 0
while index < len(元组名):
元素变量 = 元组名[index]
循环体
index += 1
元组的特点
"""元组不是可变类型"""
"""
元组的特点:
1.支持容纳多个元素
2.支持for循环遍历
3.不支持修改操作!!!
4.能存储任意类型数据
5.有下标索引->支持while循环
6.有下标索引->有序(存进去和取出来顺序一致)
7.有下标索引->可以重复
"""
序列详解
五大容器中属于序列的有: 字符串 列表 元组
1.序列支持切片(截取部分内容)格式-> 序列[开始索引:结束位置:步长]
注意事项如下:
1.序列有两套索引: 正索引从0开始从左到右依次递增,负索引从-1开始从右到左依次递减
2.步长决定截取方向: 正步长代表从左到右,负步长代表从右到左
3.开始索引:如果留空,默认代表从头开始
4.结束位置:结束索引=结束位置-1,如果留空默认代表到尾部(含)结束
2.序列支持运算符如下
+ : 序列+序列: 两个序列内容拼接返回一个新序列
* : 序列*x:表示序列的内容乘以x份放到一个新的序列中返回
集合的定义
定义空集合: 集合名 = set()
定义非空集合: 集合名 = {元素1,元素2,元素3...}
集合核心特点: 无序不重复 元素只能是不可变类型(整数,浮点数,布尔值,字符串,元组)
集合的增删改查
增
集合名.add(元素): 把指定元素添加到对应集合中
删
集合名.pop(): 随机删除一个元素
集合名.remove(元素): 把指定元素直接从集合中删除 注意:一次只会删除一个
集合名.clear(): 清空集合中所有元素
del 集合名: 删除整个集合
改
集合1.difference_update(集合2): 修改集合1的内容为它和集合2元素的差集
集合1.update(集合2): 修改集合1的内容为它和集合2的并集
查
len(集合名): 查询集合元素的总个数
集合的遍历
for循环又叫遍历循环,格式如下:
for 元素变量 in 集合名:
循环体
while循环,必须用变量充当索引使用,因为集合没有索引,所以不支持while循环
集合的遍历
"""集合是可变类型"""
"""
集合的特点:
1.支持容纳多个元素
2.支持for循环遍历
3.支持修改操作
4.只能存储不可变类型数据:整数,浮点数,布尔值,字符串,元组
5.没有下标索引->不支持while循环
6.没有下标索引->无序(自带去重功能)
7.没有下标索引->不重复
"""
字典的定义
定义空字典: 字典名 = {} 和 字典名 = dict()
定义非空字典: 字典名 = {k1:v1 , k2:v2 , k3:v3 …}
注意: 键key:只能是不可变类型且不能重复 值value可以是任意类型且可以重复
字典的键key
字典名[key]: 根据指定的键key获取值value
字典名.get(key): 根据指定的键key获取值value
字典的增删改查
增
字典名[新key] = value : 在字典中添加一个键值对 新key:value
改
字典名[旧key] = value : 在字典中修改旧key对应的值为value
删
字典名.pop(key): 根据key删除对应的键值对
del 字典名[key]: 根据key删除对应的键值对
字典名.clear(): 清空字典中所有元素
del 字典名: 删除整个字典
查
字典名[key]: 根据key获取value
字典名.get(key): 根据key获取value
len(字典名): 获取字典中键值对的个数
字典名.keys(): 获取所有的key
字典名.values(): 获取所有的values
字典名.items(): 获取所有的键值对 注意: 每个键值对都单独封装为元组
字典的遍历
for循环又叫遍历循环,格式如下:
# 方式1: 直接遍历字典获取key,然后根据key找value
for k in 字典:
v = 字典[k]
循环体
# 方式2: 先获取所有键值对元组,然后对元组拆包分别拿到key和value
for k,v in 字典.items:
循环体
字典的特点
"""字典是可变类型"""
"""
字典的特点:
1.支持容纳多个元素
2.支持for循环遍历
3.支持修改操作
4.每个元素是键值对:key只能是不可变类型,value可以是任意类型数据
5.没有下标索引->不支持while循环
6.没有下标索引->无序
7.没有下标索引->键不能重复
"""
推导式详解
Python 的推导式(Comprehension)是一种简洁、优雅的语法,用于创建数据结构。它能够通过一行代码生成列表、字典、集合或生成器表达式。
数据容器中共有三种支持推导式: 列表推导式、集合推导式、字典推导式

五大容器总结对比
是否是序列
序列:列表 元组 字符串
非序列: 集合 字典
是否是可变类型
可变类型:列表、集合、字典
不可变类型: 元组、字符串

通用操作

容器转换

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)