Python 列表、元组和集合是保存其他对象的常见数据结构。让我们通过一些代码示例来看看这些结构有何相似之处和不同之处。
在 Python 中,我们有四种内置数据结构可以存储不同元素的集合。它们是列表、字典、元组和集合。如果您已经了解这些数据结构背后的理论,您可以参加我们的 Python 数据结构实践 课程,亲身体验它们最常用的使用方式。在本文中,我们将重点介绍 Python 列表、元组和集合,并探讨它们的相似之处和不同之处。
Python 列表
Python 列表 是 一种内置数据结构,用于保存项目集合。要了解列表的工作原理,让我们直接看示例。
我们希望创建一个列表,其中包含过去六次总统选举中当选的美国总统的名字。列表元素应括在 方括号 [] 中,并用逗号分隔。要创建列表,我们只需将元素写在方括号中:
us_presidents_list = ['Joe Biden', 'Donald Trump', 'Barack Obama', 'Barack Obama', 'George W. Bush', 'George W. Bush']
此列表中的元素按特定顺序出现,从现任总统开始。如果一位总统当选两次(任职两届),我们会将他列入两次。在这里,我们利用了列表的两个重要特性:列表是 有序的 ,并且 可以包含重复项 .
使用列表时,您可以对其进行迭代、访问其元素,还可以添加、更改和删除列表元素。这些是您可以在我们的 Python 数据结构实践 课程中学习的基本技术。现在,让我们看几个例子:
-
p6
for president in us_presidents_list: print(president) Output: Joe Biden Donald Trump Barack Obama Barack Obama George W. Bush George W. Bush
-
p8
print(us_presidents_list[1]) Output: Donald Trump
p9
-
p10
us_presidents_list.append('Bill Clinton') print(us_presidents_list) Output: ['Joe Biden', 'Donald Trump', 'Barack Obama', 'Barack Obama', 'George W. Bush', 'George W. Bush', 'Bill Clinton']
p11
us_presidents_list.remove('Bill Clinton') print(us_presidents_list) Output: ['Joe Biden', 'Donald Trump', 'Barack Obama', 'Barack Obama', 'George W. Bush', 'George W. Bush']
p12
us_presidents_list[4] = 'George Bush' print(us_presidents_list) Output: ['Joe Biden', 'Donald Trump', 'Barack Obama', 'Barack Obama', 'George Bush', 'George W. Bush']
这里,我们分别打印出了每个元素。通过遍历列表,我们还可以将所有名称更改为大写,或将姓氏提取到单独的列表中。
如果你经常处理数字数据,你可能想使用数组而不是列表。在 本文 .
Python 元组
Python 元组 是另一种内置数据结构,可以保存元素集合。元组在技术上与列表非常相似。但是,它们通常有不同的应用;列表主要包含不同项目的集合,而元组元素通常对应一条记录。
例如,在一个元组中存储一位美国总统的基本信息(而不是美国总统列表)更为常见。那么,让我们创建一个
us_president_tuple
。可以通过将所有元素放在括号 () 内并用逗号分隔来创建元组:
us_president_tuple = ('Joe', 'Biden', '2021-01-20', 'Democratic')
这里,我们包含了总统的名字、姓氏、就职日期和政党。这些元素以特定顺序出现—— 元组是有序的 。我们的元组中没有重复的元素,但你可以 在 Python 元组中存储重复项 .
现在,让我们对元组执行一些基本操作。我们可以对其进行迭代并使用索引访问其元素:
-
第18页
for i in us_president_tuple: print(i) Output: Joe Biden 2021-01-20 Democratic
第19页
-
第20页
print(us_president_tuple[2]) Output: 2021-01-20
第21页
第22页
print(us_president_tuple[0], â â, us_president_tuple[1]) Output: Joe Biden
与列表不同, 元组是不可变的 。此数据结构不允许更改、添加或删除单个元素。
Python 集合
Python 集合 是 Python 中的内置数据结构,与列表和元组一样,包含多个元素。为了了解它与列表和元组的不同之处,让我们来看另一个示例。
我们将创建一个名为的集合,
us_presidents_set
其中包含美国总统的名字。创建 Python 集合的方法之一是使用
花括号
{} 来定义它:
us_presidents_set = {'Bill Clinton', 'Joe Biden', 'Donald Trump', 'Barack Obama', 'George W. Bush'}
集合是无序的, 因此五位美国总统的名字以随机顺序列出 。此外, 集合不能包含重复项 ;因此,无论该人担任总统多少届,所有姓名都只列出一次。
让我们看几个代码示例来看看集合在实践中是如何工作的。
-
第28页
for president in us_presidents_set: print(president) Output: George W. Bush Joe Biden Bill Clinton Donald Trump Barack Obama
第29页
第30页
reagan = False for president in us_presidents: if president == 'Ronald Reagan': reagan = True print(reagan) Output: False
第31页
-
p32
us_presidents_set.add('George H. W. Bush') print(us_presidents_set) Output: {'George W. Bush', 'Joe Biden', 'Bill Clinton', 'Donald Trump', 'George H. W. Bush', 'Barack Obama'}
p33
us_presidents_set.remove('Bill Clinton') print(us_presidents_set) Output: {'George W. Bush', 'Joe Biden', 'Donald Trump', 'George H. W. Bush', 'Barack Obama'}
p34
本综合指南 了解有关 Python 集合运算的更多信息 .
总结:Python 中列表、元组和集合之间的区别
现在,让我们总结一下到目前为止所学到的关于 Python 列表、元组和集合的知识:
Python 列表 | Python 元组 | Python 集合 |
---|---|---|
列表 = [项目 1,项目 2,项目 3] | 元组 = (项目 1,项目 2,项目 3) | 集合 = {项目 1,项目 2,项目 3} |
有序 | 已订购 | 无序 |
允许重复 | 允许重复 | 没有重复 |
可变的 | 不可变的 | 可变的 |
这些是 Python 列表、元组和集合的基本特征。还有更多特征可以影响哪种数据结构更适合特定应用程序。另外,不要忘记 Python 字典 ,这是另一种可以容纳项目集合的内置数据结构。
要了解有关列表、元组、集合和字典的更多信息,请查看我们的交互式 Python 数据结构实践 课程。它包含 118 个练习,涵盖了本文讨论的每种数据结构的典型用例。您还将了解嵌套列表,它可用于表示 2D 图像、表格数据或虚拟游戏板。在课程结束时,您将编写一个真正的 PC 游戏!
对于那些愿意全面学习 Python 的人,我们推荐 使用 Python 学习编程 。它包括五门完全交互式的课程,涵盖 Python 基础知识和一些更高级的主题。
还不确定是否需要学习 Python?阅读本文,了解 为什么 Python 是你在 2021 年必学的语言 .
感谢阅读并祝您学习愉快!
发表评论 取消回复