跳至主要內容

12. 列表、元组、字典与集合

小白debug大约 4 分钟

12. 列表、元组、字典与集合

今天我们要谈论的是 Python 中一些非常实用的数据容器,它们分别是 列表元组字典集合 。别担心,我将用简单易懂的方式来向你介绍它们。

数据容器:装数据的盒子

首先,让我们来谈谈数据容器。它们就像是你存放东西的盒子,每种容器都有它们各自的特点和用途。

列表:有序的数据集合

先说说 列表 。它是一个可以容纳多个数据项的有序集合。举个例子,你可以把它想象成一个购物清单,里面包含了你要买的各种物品。

shopping_list = ["苹果", "香蕉", "橙子", "西瓜"]

列表中的每个元素都有一个位置,我们可以根据这个位置来访问或者修改元素。比如,我们可以用 shopping_list[0] 来访问第一个物品,也就是苹果。

常用场景:

假设你正在写一个程序,需要存储一组用户的姓名,你会怎么做?如果没有列表,你可能会为每个用户创建一个变量,这样会变得非常繁琐。而有了列表,你可以简洁地将所有用户名存储在一个容器中。

usernames = ["Alice", "Bob", "Charlie"]

元组:不可变的数据集合

下面是 元组 。元组和列表相似,但是它们是不可变的,也就是说一旦创建,元组的内容就不能被修改。

coordinates = (3, 5)

这里的 coordinates 就是一个元组,里面包含了两个数字,分别是 3 和 5。你可以将它想象成一个坐标点的位置。

常用场景:

假设你正在编写一个游戏,需要表示一个固定的坐标位置,比如玩家的出生点,你会使用元组来确保这个位置在游戏中不会被意外修改。

spawn_point = (10, 20)

字典:键值对的集合

再来说说 字典 。字典是一种包含了键-值对的数据容器。举例来说,如果你要存储一个人的信息,比如姓名、年龄、城市,你可以使用一个字典。

person = {"name": "小明", "age": 25, "city": "北京"}

在这个例子中,"name"、"age"和"city"就是键,对应着"小明"、25 和"北京"这些值。

常用场景:

假设你正在开发一个用户注册系统,需要存储每个用户的信息,你可以使用字典来存储每个用户的用户名、密码和邮箱。

user_info = {
    "username": "example_user",
    "password": "secure_password",
    "email": "[email protected]"
}

字典和集合的区别

或许你会想,字典和集合看起来有些相似。但它们有一个重要的区别:字典是键-值对的集合,而集合是唯一的元素集合。在字典中,你可以通过键来获取值,但在集合中,你只能检查某个元素是否存在。

集合:独一无二的元素集合

最后,让我们了解一下 集合 。集合是一组唯一的元素的集合。它们类似于列表,但没有顺序,并且集合中的元素是独一无二的。如果有重复的内容放入,就只会保留一个,也就是说它有去重的效果。

unique_numbers = {1, 2, 3, 4, 5}

在这个例子中,集合 unique_numbers 中包含了五个唯一的数字。

常用场景:

假设你在开发一个投票系统,需要记录每个投票者的选择,你可以使用集合来确保每个投票者只能投一次票。

voters = {"Alice", "Bob", "Charlie", "Alice", "Bob"}

何时使用字典和集合

那么什么情况下应该使用字典,什么时候应该使用集合呢?如果你需要将某种信息与另一种信息关联起来,就像我们之前做的用户信息存储,那么字典会非常适合。而如果你只是想确保一组数据中的唯一性,那么集合就是一个很好的选择。

实战例子:从列表中找出最大值

好了,现在让我们来动手实践一下!假设我们有一个数字列表,我们要找出其中的最大值。

numbers = [12, 45, 67, 23, 9, 100, 56]

max_number = max(numbers)
print("最大值是:", max_number)

在这个例子中,我们用 max() 函数找到了列表中的最大值,并将结果打印出来。

总结

通过这篇文章,我们学习了 Python 中四种重要的数据容器:列表、元组、字典和集合。它们分别用来存放多个数据、不可变的数据、键-值对和独一无二的元素。

希望你现在对这些容器有了更清晰的理解。继续加油,你已经迈出了成为 Python 大师的第一步!

训练营看视频