第七节: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

配套课程请私信。

相关推荐
551只玄猫8 小时前
【数学建模 matlab 实验报告8】回归分析
开发语言·数学建模·matlab·课程设计·实验报告
天若有情6738 小时前
Python精神折磨系列(完整11集·无断层版)
数据库·python·算法
liulilittle8 小时前
OPENPPP2 1.0.0.26145 正式版发布:内核态 SYSNAT 性能飞跃 + Windows 平台避坑指南
开发语言·网络·c++·windows·通信·vrrp
周末也要写八哥8 小时前
返回函数(闭包):让return更“高阶
python
消失的旧时光-19438 小时前
C++ 网络服务端主线:从线程池到 Reactor 的完整路线图
开发语言·网络·c++·线程池·并发
疯狂打码的少年8 小时前
【Day02 Java转Python】Python的ArrayList: list与tuple的“双面人生
java·python·list
打瞌睡的朱尤8 小时前
js复习--考核
开发语言·前端·javascript