第七节:Python的内置容器

1、容器的概念

Python中,可包含其他对象的对象,称之为"容器"。容器是一种数据结构。

常用的容器主要划分为两种:序列(如:列表、元祖等)和映射(如:字典)。序列中,每个元素都有下标,它们是有序的。映射中,每个元素都有名称(又称" 键 "),它们是无序的。除了序列和映射之外,还有一种需要注意的容器------" 集合 "。

2、字典

字典特点:

  • 符号为:大括号

  • 数据为:键值对 形式出现;字典中的"键"必须是独一无二的

  • 键和值之间用:冒号 隔开

注意:一般称冒号前面的为键(key),简称k;冒号后面的为值(value),简称v。合起来称之为"项"。

1、定义字典

字典是 Python 中的唯一内置映射,和之前所提到的列表、字符串一样,字典也拥有它的转换函数------ dict。

python 复制代码
dict1 = {'name': '老肖', 'age': 40}

dict2 = {}

dict1 = dict([('name', 'zs'), ('age', 44)])
dict2 = dict(name='zs', age=44)

print(dict1, dict2)

2、常见操作

  • 增/改/删除
python 复制代码
字典序列[key] = 值
del d[key]
  • 查找
  1. len( dict ): 返回字典 dict 对应的项数。

  2. d k 返回与键 k 相应的值。

  3. k in d: 检查键 k 是否包含于字典 d 。

  • 字典中函数
    • clear:可以清除字典中的所有数据
    • fromkeys:使用该方法可以创建一个新字典,其中包含指定的键,且每个键对应的值都是 None
    • get:直接访问字典中的值
    • items:会返回一个包含所有字典项的列表,其中每个元素都为键值对的形式,且排列顺序不确定**。**
    • keys:返回字典中的所有key,组成一个列表
    • values: 返回字典中所有的value。
    • pop: 删除并返回指定key的值

3、Set集合

由一系列不重复的不可变类型变量组成的可变散列容器。

相当于只有键没有值的字典(键则是集合的数据)。

创建集合使用 {}set(), 但是如果要创建空集合只能使用 set(),因为 {}用来创建空字典。

特点:

  1. 集合中不能出现重复的数据,自动去掉重复数据;

  2. 集合数据是无序的,故不支持下标

4、总结

字符串str:储存字符编码值,不可变,序列

列表list:储存变量,可变,序列

元组tuple:储存变量,不可变,序列

字典dict:储存键值对,可变,散列;键不能重复且不可变

集合set:储存键,可变,散列

可变和不可变的区别

  • 不可变:数据在内存中本质都是不可变,采用按需分配的存储机制;就更无法改变内存中的值。

  • 可变:具有扩容能力,采用预留空间的存储机制

不可变: 基本类型(字符串,int,float等),tuple

可变: list, dict, set

配套课程请私信。

相关推荐
从零开始学习人工智能14 小时前
【踩坑实录】WSL2 解决 onnxruntime\-gpu ImportError: libcudart\.so\.13 无 CUDA13 运行库问题
python
WWJA王文举15 小时前
I²C通信完整流程详解:START、地址、ACK、数据、Repeated START和STOP一次讲透
c语言·开发语言
卷无止境15 小时前
在 awesome-fastapi 里,哪些库值得一看?
后端·python
zhanghaha131416 小时前
Python进阶教程:6_JSON 数据解析 —— 新手完全指南
开发语言·python·json
Python私教16 小时前
API 输出模型怎么设计:从 model_dump() 到显式展示层
python·fastapi
Python私教16 小时前
本地 AI 工具服务该绑定 127.0.0.1 还是 0.0.0.0?
python·fastapi
卷无止境17 小时前
FastAPI 的Admin面板生态
后端·python
qq_4480111617 小时前
C语言中的动态内存分配
c语言·开发语言·php
ctlover17 小时前
Streamlit 框架
python
ι:17 小时前
MATLAB 与 Python 搭建无人机地面站:优势、劣势与选型逻辑
python·matlab·无人机