作者:Insist--
个人主页:insist--个人主页
本文专栏:Python专栏
专栏介绍:本专栏为免费专栏,并且会持续更新python基础知识,欢迎各位订阅关注。
目录
前言
数据容器在Python中起着至关重要的作用,本文将讲解Python的数据容器,其中包括列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)。
一、了解数据容器
1. 为什么需要数据容器?
假设你是一位老师,你现在需要用程序记录班上3名学生的信息,你需要怎么做呢?
可能有人会说,可以直接定义3个字符串变量,如下代码:
name1 = "学生1" name2 = "学生2" name3 = "学生3"
这种方法虽然可以满足我们的需求,但是写起来很麻烦,这里只有3名学生的信息,那要是有1000个呢?难道我们要定义1000个变量吗?这显然是不现实的。那有什么办法能解决此问题吗?当然有,这就要谈起我们数据容器了,比如我们定义一个列表(list)来存储,如下代码:
my_list = ["学生1","学生2","学生3"]
可以看到我们只用了一个变量就可以接收多份数据,通过以上文章,可以总结出Python数据容器具有组织数据的作用,这也是我们需要数据容器的原因。
2. 数据容器是什么?
通过上面的文章,大家对数据容器已经有所了解了,现在我们来详细的说一说数据容器是什么?
数据容器就是一种可以存储多份数据的数据类型,数据容器内的数据被称为元素,元素可以是任意数据类型(字符串、整数、布尔等),数据容器分为5类,分别是:列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict),下面我们会分别来讲解这5种数据容器。
二、数据容器—列表(list)
列表的相关操作可以参考专栏中的其他文章
上面说到了用列表(list)来存储1000名学生的数据,这种方法比定义1000个变量要简单的多,列表 是数据容器中的一类,下面我们来详细的讲解一下:
1. 列表的定义
列表可以存储多个元素,并且类型不受限制,定义一个列表我们可以使用中括号,元素之间使用逗号隔开,如下代码:
list_name = [element1, element2, ...]
代码中的 list_name 是列表的名称,element1, element2 是列表中存储的数据,被称为元素。
我们还可以定义空列表,比如:
# 定义空列表的 第一种 方法 empty_list = [] # 定义空列表的 第二种 方法 empty_list = list()
2. 列表的特点
- 可存储多个数据并且支持存储多种类型
- 数据是有序存储并且允许数据重复
- 可以修改内容(修改、删除等操作)
3. 例题
看完以上的演示,你会定义列表了吗?让我们来看一个非常简单的例题:
例题:定义一个列表,列表内存储("张三",666,True)这三个数据,并将它打印出来
解答:
# 定义一个列表,列表内存储着("张三",666,True) list_name = ["张三",666,True] # 使用 print 将列表打印出来 print(list_name)
输出结果:
三、数据容器—元组(tuple)
列表的相关操作可以参考专栏中的其他文章
1. 元组的定义
通过列表的特点中得知列表是支持修改的,那如果我们存储的数据不想被修改要怎么办呢?很简单,使用元组来存储即可。
在Python中,元组是一种不可变的序列类型。简单得很说就是元组不支持修改。定义一个元组可以使用圆括号,元素之间用逗号分开。如下代码:
my_tuple = (666, 'ABC', 9.2)
同样,my_tuple 是元组的名称,666, 'ABC', 9.2 是元组中存储的数据。
注意:如果在定义元组时没写变量名,Python就会创建一个匿名元组。匿名元组主要用于一次性使用。
2. 元组的特点
- 可存储多个数据并且支持存储多种类型
- 数据是有序存储并且允许数据重复
- 支持循环,不支持数据得修改
3. 例题
同样,我们来练习一下定义元组,如下例题;
例题:定义一个元组,并在元组内存储(6,"insist",1.1)并将其打印出来,还可以试着存储相同元素,看看会发生什么?
解答:
# 定义一个元组,元组内存储着(6,"insist",1.1) tuple1 = (6,"insist",1.1) # 使用 print 将元组的内容打印出来 print(tuple1)
输出结果:
三、数据容器—字符串(str)
字符串的相关操作在后续会发布在此专栏
1. 字符串的定义
在Python中,字符被单引号,双引号引起来的形式,称之为字符串。定义一个字符串如下代码:
# 双引号定义 str1 = "insist" # 单引号定义 str2 = 'insist' # 三引号定义 str3 = ''' insist '''
2. 字符串的特点
- 与上不同,字符串只支持存储字符串类型
- 与元组相同,字符串也是不可修改的
- 有序存储并且允许数据重复
- 支持循环
四、数据容器—集合(set)
集合的相关操作在后续会发布在此专栏
1. 集合的定义
上面已经讲解了三个数据容器了(列表、元组、字符串),这三个数据容器内的数据都是支持重复的,如果我们需要对数据做去重处理,那么这三个用着就不是很方便了,在Python中,集合是不允许数据重复的(相当于自带去重功能),所以我们来学习一下集合。我们可以通过在{}中写上元素来创建一个集合(元素之间使用逗号隔开),如下代码:
set1 = {1,2,3,4,5}
2. 集合的特点
- 可存储多个数据并且可以存储多种类型
- 数据是无序的并且不允许数据重复
- 只支持for循环
3. 例题
我们再来练习一下定义集合,如下例题:
例题:定义一个集合,并在集合内存储(1,1,1,2,2,2,3,3,3)并将其打印出来,看看会发生什么?
解答:
# 定义一个集合,集合内存储着(1,1,1,2,2,2,3,3,3) set1 = {1,1,1,2,2,2,3,3,3} # 使用 print 将集合的内容打印出来 print(set1)
输出结果:
可以看到,集合已对数据进行去重。
五、数据容器—字典(dict)
字典的相关操作在后续会发布在此专栏
1. 字典的定义
我们生活中的字典可以通过字去查询到字的含义,Python中的字典和生活中的字典十分相似,生活中的字典是通过字去查询字的含义,Python中的字典是通过Key去找到对应的Value,我们先来定义一个字典,定义字典与集合一样,同样使用{},但字典内部存储的时一对一对的键值对(key:value,就像下面代码中的张三:88)如下代码:
dict1 = {'张三':88, '李四':18 }
如上代码,李四是姓名,88是它的分数,我们可以通过输入它的姓名(key)找到对应的value,如下代码:
print(dict1["张三"])
我们可以通过如上方法通过key找到对应的value。
2. 字典的特点
- 可存储多个数据并且可以存储多种类型
- 数据以键值对存储
- 键值对中的key不可重复
- 可以修改并且只支持for循环
3. 例题
我们再来练习一下字典的相关知识,如下例题:
例题:定义一个字典,字典内存储着3名学生的姓名和分数,定义完成后我们通过姓名找到对应的分数并打印出来
解答:
dict1 = {'张三':88, '李四':18, '王五':2 } print(dict1["王五"])
输出结果:
可以看到已经通过key找到了对应的value。