网站首页 > 基础教程 正文
上期我们学习了Python的列表和元组,通过相关的练习应该有所收获。今天来讲一讲字典和集合。
1.字典
字典是一种可变容器模型,可存储任意类型对象。和之前我们讲过的列表及元组都不相同,字典中存储的是一组数据,这组数据包含了两个部分键和值。例如每个同学都有学号和姓名,其中学号是唯一的,姓名是可能相同的,字典就是这样的格式,可以把学号理解为键,姓名理解为值。另外Python默认的字典是无序的,不像元组和集合,通过index索引可以获取值,由于没有顺序,所以字典不存在索引。字典的键是唯一的,不能出现多次,多次出现时取最后一个值。下面我们创建字典并进行一些基本操作。
1.字典的形式及创建
整个字典包括在花括号 {} 中,可以看出字典每个元素包含2个部分,他们分别是‘键’和‘值’,键和值之间用:隔开,两个元素之间用,隔开。
2.字典元素的访问
由于字典不存在顺序所以也没有索引,但是我们可以通过访问其键获取它对应的值,相当于我们要去一个班级找学生,只要报出学号就可以找到该学生了。
3.添加、修改、删除元素
字典是可以变化的,我们对其进行增加删除和修改操作。增加元素就是直接通过键值对进行添加;删除元素还是通过del语句进行删除,删除的是一对元素,包括键和值。修改元素就是直接覆盖了现有元素,它的形式和添加元素的格式类似。以上只是字典的最基础操作,字典可以存储的各种混合数据类型,其中键需要取不可变的数据类型,但是值是可以取任意类型的对象。
2.集合
在学习数学的时候我们应该学过集合这个概念,在Python中同样存在一种名叫集合的数据类型,集合(set)是一个无序的不重复元素序列。集合的表达式和字典有点相似都是包括在花括号 {} 中。集合中所保存的元素是没有顺序的,且可以保存多种数据类型,集合中的元素都存在唯一性,不能重复出现。
1.创建集合
创建集合的时候有2种方式,一种是直接使用集合的特征符号‘{}’来创建,一种是使用set()函数强制类型转换来创建。集合是由‘{ }’括起来的结构,每个元素之间用‘,’隔开,集合和字典都是用大括号括起来,但是集合之间不使用冒号,只能使用逗号。创建一个空集合必须用 set() 而不是 { },因为{ } 会创建一个空字典。
2.删除集合
在学习增添和删除元素之前,还是回忆学过的del()方法,del()方法可以直接删除整个集合。
3.添加、删除元素
集合是可变序列,因此我们可以对其中的元素进行增删操作。添加元素使用add()方法;删除元素可以使用集合的pop()方法或者remove()方法去删除一个元素,也可以使用clear()方法清空集合。
需要注意的是remove()方法是移除指定元素,而pop()方法是直接删除集合中的第一个元素并输出,clear()方法直接清空了集合中的所有元素。
通过列表、元组、集合、字典的学习,我们对Python的数据类型相关基础知识有了初步的掌握。以后我们会针对数据类型通过一些函数或项目来进一步学习。
猜你喜欢
- 2025-01-11 Python 的集合和字典实现的机制
- 2025-01-11 Python基础编程——字典的常用方法(三)
- 2025-01-11 Python数据类型之字典(Dictionary)——2
- 2025-01-11 剖析Python字典推导式:以简驭繁的字典生成之道
- 2025-01-11 python字典dict入门
- 2025-01-11 Python中字典添加元素的几种方法
- 2025-01-11 python字典常用的6种方法
- 2025-01-11 如何在 Python 中创建一个不可变的字典 - Adam Johnson
- 2025-01-11 Python.get()方法:改进您的字典操作
- 01-11网络小白必看!计算机网络基础讲解——网络协议
- 01-11网络基础知识:ARP、ICMP、IP协议
- 01-11了解不同类型的网络通信协议
- 01-11常用网络协议整理笔记(二)---ARP/RARP协议
- 01-11一图看懂8种流行的网络协议栈
- 01-11Socks5与HTTP:网络协议比较与应用场景解析
- 01-11简单!三分钟教你速通通信协议
- 01-11网络路由器常用协议介绍
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)