您现在的位置是:首页 > 技术教程 正文

Python数据容器——列表、元组、字符串、集合、字典

admin 阅读: 2024-03-21
后台-插件-广告管理-内容页头部广告(手机)

作者:Insist--

个人主页:insist--个人主页

本文专栏:Python专栏

专栏介绍:本专栏为免费专栏,并且会持续更新python基础知识,欢迎各位订阅关注。

目录

一、了解数据容器

1. 为什么需要数据容器?

2. 数据容器是什么?

二、数据容器—列表(list)

1. 列表的定义

2. 列表的特点

3. 例题

三、数据容器—元组(tuple)

1. 元组的定义

2. 元组的特点

3. 例题

三、数据容器—字符串(str)

1. 字符串的定义

2. 字符串的特点

四、数据容器—集合(set)

1. 集合的定义

2. 集合的特点

3. 例题

五、数据容器—字典(dict)

1. 字典的定义

2. 字典的特点

3. 例题


前言

数据容器在Python中起着至关重要的作用,本文将讲解Python的数据容器,其中包括列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)。

一、了解数据容器

1. 为什么需要数据容器?

假设你是一位老师,你现在需要用程序记录班上3名学生的信息,你需要怎么做呢?

可能有人会说,可以直接定义3个字符串变量,如下代码:

  1. name1 = "学生1"
  2. name2 = "学生2"
  3. 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 是列表中存储的数据,被称为元素。

我们还可以定义空列表,比如:

  1. # 定义空列表的 第一种 方法
  2. empty_list = []
  3. # 定义空列表的 第二种 方法
  4. empty_list = list()

2. 列表的特点

  • 可存储多个数据并且支持存储多种类型
  • 数据是有序存储并且允许数据重复
  • 可以修改内容(修改、删除等操作)

3. 例题

看完以上的演示,你会定义列表了吗?让我们来看一个非常简单的例题:

例题:定义一个列表,列表内存储("张三",666,True)这三个数据,并将它打印出来

解答:

  1. # 定义一个列表,列表内存储着("张三",666,True)
  2. list_name = ["张三",666,True]
  3. # 使用 print 将列表打印出来
  4. print(list_name)

输出结果:

7453ef640fc34d8086baf94f228f212f.png

三、数据容器—元组(tuple)

列表的相关操作可以参考专栏中的其他文章

1. 元组的定义

通过列表的特点中得知列表是支持修改的,那如果我们存储的数据不想被修改要怎么办呢?很简单,使用元组来存储即可。

在Python中,元组是一种不可变的序列类型。简单得很说就是元组不支持修改。定义一个元组可以使用圆括号,元素之间用逗号分开。如下代码:

my_tuple = (666, 'ABC', 9.2)

同样,my_tuple 是元组的名称,666, 'ABC', 9.2 是元组中存储的数据。

注意:如果在定义元组时没写变量名,Python就会创建一个匿名元组。匿名元组主要用于一次性使用。

2. 元组的特点

  • 可存储多个数据并且支持存储多种类型
  • 数据是有序存储并且允许数据重复
  • 支持循环,不支持数据得修改

3. 例题

同样,我们来练习一下定义元组,如下例题;

例题:定义一个元组,并在元组内存储(6,"insist",1.1)并将其打印出来,还可以试着存储相同元素,看看会发生什么?

解答:

  1. # 定义一个元组,元组内存储着(6,"insist",1.1)
  2. tuple1 = (6,"insist",1.1)
  3. # 使用 print 将元组的内容打印出来
  4. print(tuple1)

输出结果:

c7f8e48507cc411fbddb96fb00b4ad22.png

三、数据容器—字符串(str)

字符串的相关操作在后续会发布在此专栏

1. 字符串的定义

在Python中,字符被单引号,双引号引起来的形式,称之为字符串。定义一个字符串如下代码:

  1. # 双引号定义
  2. str1 = "insist"
  3. # 单引号定义
  4. str2 = 'insist'
  5. # 三引号定义
  6. str3 = '''
  7. insist
  8. '''

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,1,2,2,2,3,3,3)
  2. set1 = {1,1,1,2,2,2,3,3,3}
  3. # 使用 print 将集合的内容打印出来
  4. print(set1)

输出结果:

1debf05a7cd346b99af7bd0dcbdc1a0b.png

可以看到,集合已对数据进行去重。

五、数据容器—字典(dict)

字典的相关操作在后续会发布在此专栏

1. 字典的定义

00ed051ca201414c90e0698287e9ba45.webp

%20

我们生活中的字典可以通过字去查询到字的含义,Python中的字典和生活中的字典十分相似,生活中的字典是通过字去查询字的含义,Python中的字典是通过Key去找到对应的Value,我们先来定义一个字典,定义字典与集合一样,同样使用{},但字典内部存储的时一对一对的键值对(key:value,就像下面代码中的张三:88)如下代码:

%20
  1. dict1%20=%20{'张三':88,
  2. %20%20%20%20%20%20%20%20%20'李四':18
  3. }
%20

如上代码,李四是姓名,88是它的分数,我们可以通过输入它的姓名(key)找到对应的value,如下代码:

%20 print(dict1["张三"])%20

我们可以通过如上方法通过key找到对应的value。

%20 2.%20字典的特点%20
  • 可存储多个数据并且可以存储多种类型
  • 数据以键值对存储
  • 键值对中的key不可重复
  • 可以修改并且只支持for循环

3.%20例题

%20

我们再来练习一下字典的相关知识,如下例题:

%20 %20 %20

例题:定义一个字典,字典内存储着3名学生的姓名和分数,定义完成后我们通过姓名找到对应的分数并打印出来

%20 %20

解答:

%20
  1. dict1%20=%20{'张三':88,
  2. %20%20%20%20%20%20%20%20%20'李四':18,
  3. %20%20%20%20%20%20%20%20%20'王五':2
  4. }
  5. %20
  6. print(dict1["王五"])
%20

输出结果:

%20

可以看到已经通过key找到了对应的value。

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索
排行榜