搭建什么网站好玩,河东区建设局网站,商标网商标注册查询,企业网站后台管理系统前言
本文主要对Python中的元组、列表、字典、集合进行小结#xff0c;主要内容包括知识点回顾、异同点、使用场景。 文章目录 前言一、知识点回顾1、列表#xff08;List#xff09;2、 元组#xff08;Tuple#xff09;3、 字典#xff08;Dictionary#xff09;4.、…前言
本文主要对Python中的元组、列表、字典、集合进行小结主要内容包括知识点回顾、异同点、使用场景。 文章目录 前言一、知识点回顾1、列表List2、 元组Tuple3、 字典Dictionary4.、集合Set 二、异同点1、异构性2、可变性3、有序性4、可迭代性 三、使用场景1、列表List2、元组Tuple3、字典Dictionary4、集合Set 一、知识点回顾
Python 中的元组、列表、字典、集合都是用来存储多个数据元素的容器类型。
1、列表List
列表是可变的可以通过索引访问和修改元素以逗号分隔值用方括号 [] 括起来实现。列表中的元素可以是不同数据类型的可以通过追加、插入、删除等操作进行修改。常见的操作如下
my_list [1, hello, True]my_list[0] 2 #索引修改
my_list.append(world) #追加
my_list.insert(1, goodbye) #在制定位置之前插入
my_list.remove(hello) #删除制定值的元素也可以是指定下标
print(my_list)输出结果
[2, goodbye, True, world]2、 元组Tuple
元组是不可变的可以通过索引访问元素其值用逗号分隔值用小括号 () 实现。元组元素不能更改因此在创建后不能添加、删除或修改。常见的操作如下
my_tuple (1, hello, True)print(my_tuple[1]) #索引
print(my_tuple[0:2]) #切片输出结果
hello
(1, hello)3、 字典Dictionary
字典是一个使用键-值对存储的可变数据类型用大括号 {} 括起来键值对之间用冒号 : 分隔键值对之间用逗号分隔。常见的操作如下
my_dict {a: 1, b: 2, c: 3}print(my_dict[b]) #通过键来访问值
my_dict[a] 9 #通过键来修改值
print(my_dict)输出结果
2
{a: 9, b: 2, c: 3}4.、集合Set
集合是用于保存一组唯一元素的容器类型用大括号 {} 或 set() 构造不支持索引操作。集合中的元素不重复可以进行交、并、差等集合操作。常见的操作如下
my_set1 {1, 2, 3}
my_set2 {3, 4, 5}print(my_set1 my_set2) #求交集
print(my_set1 | my_set2) #求并集
print(my_set1 - my_set2) #求差集
print(my_set1 ^ my_set2) #求对称差集输出结果
{3}
{1, 2, 3, 4, 5}
{1, 2}
{1, 2, 4, 5}二、异同点
1、异构性
元组、列表、字典都可以包含不同类型的元素比如整数、浮点数、字符串等。集合要求元素类型必须是不可变的否则会引发 TypeError 错误如
my_list [1, 1.5, hello, (1, 2, 3), [4, 5, 6]]
my_tuple (1, 1.5, hello, (1, 2, 3), [4, 5, 6])
my_dict {a: 1, b: 1.5, c: hello,d:(1, 2, 3),e:[4, 5, 6]}
my_set {1, 1.5, hello, (1, 2, 3), frozenset([4, 5, 6]) }
# my_set {1, 1.5, hello, (1, 2, 3), [4, 5, 6] } #会报错必须要用frozenset()函数将数据类型转换为不可变数据类型print(my_list)
print(my_tuple)
print(my_dict)
print(my_set)输出结果
[1, 1.5, hello, (1, 2, 3), [4, 5, 6]]
(1, 1.5, hello, (1, 2, 3), [4, 5, 6])
{a: 1, b: 1.5, c: hello, d: (1, 2, 3), e: [4, 5, 6]}
{1, 1.5, (1, 2, 3), hello, frozenset({4, 5, 6})}集合内部使用哈希表来实现每一个不同的数据元素都有一个唯一的哈希值通过哈希值来对集合元素进行快速的查找和操作。由于哈希表的实现方式是通过键key来实现的因此要求集合中的元素必须是可散列的即每个元素必须有一个唯一的哈希值否则将会引发 TypeError 错误。
2、可变性
可变性是指容器中的元素是否可以被修改比如增加、修改、删除等。元组是不可变数据类型列表、字典、集合都是可变数据类型如
my_list [1, 2, 3]
my_tuple (1, 2, 3)
my_dict {a: 1, b: 2, c: 2}
my_set {1, 2, 3 }my_list.append(4)
my_dict[d] 4
my_set.add(4)
#my_tuple 元组中的数据是不可变的print(my_list)
print(my_dict)
print(my_set)输出结果
[1, 2, 3, 4]
{a: 1, b: 2, c: 2, d: 4}
{1, 2, 3, 4}3、有序性
元组、列表都是有序的可以通过索引下标来访问元素字典在python3.7版本以上的输出顺序通常是稳定但是我们不能认为它是有序的它不可以通过下标来索引但是可以通过键来访问或修改集合是无序的数据类型不支持索引如
my_list [1, 2, 3]
my_tuple (1, 2, 3)
my_dict {a: 1, b: 2, c: 2}
my_set {1, 2, 3 }print(my_list[1])
print(my_tuple[1])
print(my_dict[b])
#print(my_set[1]) #会引发 TypeError 错误输出结果
2
2
24、可迭代性
元组、列表、字典、集合都是支持遍历的。
my_list [1, 2, 3]
my_tuple (1, 2, 3)
my_dict {a: 1, b: 2, c: 2}
my_set {1, 2, 3 }print(my_list遍历输出, end)
for i in my_list:
print(i , , end)
print()print(my_tuple遍历输出, end)
for i in my_tuple:
print(i , , end)
print()print(my_dict遍历输出, end)
for i in my_tuple:
print(i , , end)
print()print(my_set遍历输出, end)
for i in my_tuple:
print(i , , end)
print()输出结果
my_list遍历输出1 2 3
my_tuple遍历输出1 2 3
my_dict遍历输出1 2 3
my_set遍历输出1 2 3 三、使用场景
1、列表List
列表是可变、异构、有序的多元素类型容器列表在Python中使用非常广泛常见的使用场景包括 1存储有序序列数据如待处理的任务列表、音乐播放列表等 2 作为其他数据结构的底层实现如队列、堆栈等 3存储一组同类型的数据如学生的成绩列表、历史行情数据列表等。
2、元组Tuple
元组是不可变的因此常见的场景包括 1存储一组常量数据或常量配置项 2 作为字典的键 3作为函数的参数和返回值。
3、字典Dictionary
字典是可变、异构的多元素类型容器字典在Python中也是非常常用的数据结构常见的使用场景包括 1 存储关联关系数据如学生的成绩记录、词典等 2存储对象的属性和属性值如JSON、YAML等数据格式 3作为配置文件的存储格式。
4、集合Set
集合是用于存储一组唯一元素的数据结构因此常见的使用场景包括 1去除重复元素如活动报名时的重复报名检查 2求两个列表或数据之间的交、并、差等操作 3存储不重复的数据如爬虫任务队列中URL的去重等。