Python四大容器区分(一秒搞懂)

部署运行你感兴趣的模型镜像

四大数据结构的共同点

①都是容器类型:都能存储多个元素

②都支持多种数据类型:可以混合存储不同类型的数据(如:int/str/float等)

③都支持迭代:都可以用for循环遍历

④都支持in操作:都可以用in判断元素是否存在

⑤都是Python内置类型:无需导入任何模块

⑥都支持len()函数:能用len()获取元素数量

四大数据结构核心区别对照表

注意:集合和字典均使用花括号{}表示,但使用有差别,如d={}是创建一个空字典,若要创建一个空集合的话则要用d=set()。同样元组使用的小括号(),为避免与普通表达式混淆,在定义只有一个元素的元组时,要在元素后面加逗号如t=(88,)

四种类型使用案例如下:

1.列表(list)——你的万能工具箱

示例代码:

# 创建1个购物车列表
shopping_car = ["牛奶", "面包", "鸡蛋"]

# 动态操作(列表的优势!)
# 增加数据
shopping_car.append("苹果")
# 移除数据,如第二个
shopping_car.pop(1)
# 修改数据,如第一个
shopping_car[0] = "酸奶"
print(shopping_car)  

输出结果:

# 输出:['酸奶', '鸡蛋', '苹果']

什么时候用列表?

  • 需要保持记录顺序
  • 存在频繁增-删-改
  • 比如:待办事项、日志流水记录

2.元组(tuple)——不可变的保险箱

示例代码如下:

# 定义配置信息(不许修改)
DATABASE_CONFIG = (
    "127.0.0.1",  # 主机
    3306,       # 端口
    "admin",  # 用户名
    "123456",  # 密码
)

# 安全使用配置
host, port, user, pwd = DATABASE_CONFIG
print(f"正在连接{host}:{port}...")

# 若尝试修改元组的内容,会报错!!!
DATABASE_CONFIG[0] = "192.168.1.1"  # 报错!

代码运行结果:

正在连接127.0.0.1:3306...

另,元组还常见于函数有多个返回值时:

# 定义一个多返回值的函数
def get_user_info(user_id): 
    return ("王小明", 28, "工程师") 
# 姓名  # 年龄  # 职业
name, age, job = get_user_info(1001)
print(f"{name}({age}岁)是一名{job}")

什么时候用元组?

  • 数据一旦写入就焊死,不想被该
  • 需要作为字典键(字典的Key不重复)
  • 比如:作为配置项、函数返回值

3. 字典(dict)——闪电般的查找器

示例代码如下:

# 构建用户数据字典
users = {101: {"name": "小明", "age": 18}, 102: {"name": "小红", "age": 20}}

# 闪电查找(比列表快N倍!)
print(users[102]["name"])  # 输出:小红

# 增加数据
users[103] = {"name": "小刚", "age": 22}
# 修改数据
users[102] = {"name": "小哈哈", "age": 22}
# 删除数据
del users[101]
print(users)  

代码运行结果:

小红
{102: {'name': '小哈哈', 'age': 22}, 103: {'name': '小刚', 'age': 22}}

什么时候用字典?

  • 需要键-值映射
  • 快速查找需求
  • 比如:参数列表、配置文件

4.集合(set)——去重小能手

示例代码:

# 构造1个数字集合
input_numbers = {12, 5, 8, 12, 8}
# 输出:{8, 12, 5} 自动去重!
print(input_numbers)

# 集合运算(超方便)
A = {1, 2, 3}
B = {2, 3, 4}

print(A | B)  # 并集:{1, 2, 3, 4}
print(A & B)  # 交集:{2, 3}
print(A - B)  # 差集:{1}

什么时候用集合?

  • 需要去除重复值
  • 集合运算交 / 并 / 差
  • 比如:过滤黑名单、求共同好友

使用时选择的流程:

记住这些区别,能在编程时做出最佳的选择!

给自己做个记录,也希望能帮到认真学习的你!❤

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值