本次讲座是关于 Python 中的另一个基本结构,称为元组。
元组
元组类似于列表,因此我们可以使用它们来存储项目列表。 但与列表不同的是,我们不能修改它们、添加新项目或删除现有项目。 我们可以说元组是不可变的。
我来给你展示。 元组由括号而不是列表中的方括号标识。
numbers = (4, 1, 7, 5, 0, 9)
现在,如果我们拉出元组的方法列表,您可以看到我们没有 append 或 insert 方法,因此无法将新项目添加到此元组中。 我们只有两种方法:count 和 index。
我们使用“count”来计算一个项目的出现次数。 “索引”用于查找项目第一次出现的索引。 所以,我们只能得到一个元组的信息,不能改变它。 顺便说一句,您在此处看到的这些其他方法以两个下划线开头。
我们将这些称为魔术方法。 它们更像是一个高级主题,我们将在以后的系列中涉及它们。
除了不可变之外,元组还具有列表的大部分特征。
实际上,大多数时候您将使用列表,但元组也很有用。 如果您想创建一个项目列表并确保在您的程序中没有意外修改该列表,那么最好使用元组。
开箱
在本节中,我将向您展示一个强大的功能,我们在 python 中称为解包。
让我们定义一个元组“坐标”
coordinate = (1, 2, 3)
现在,想象一下这些是“x”、“y”和“z”的坐标。 现在假设我们想要获取这些值并在我们的程序中的一些复杂表达式中使用它们。 也许,我们想将它们作为一个大型复杂公式的一部分。
因此,我们必须一起编写如下代码:
coordinate[0] * coordinate[1] * coordinate[2]
这行代码会将所有坐标相乘,但这样编写代码效率低下。 首先,让我们使用更好的方法并将这些坐标存储在单独的变量中。
x = coordinate[0]
y = coordinate[1]
z = coordinate[2]
那更好。 正确的? 所以到目前为止没有什么新鲜事。 现在,让我向您展示一个称为解包的强大功能,使用它,我们可以用更少的代码实现相同的结果。
x, y, z, = coordinate
现在,这一行代码完全等同于上面写的三行代码。 让我向你解释它是如何工作的。
当 Python 解释器看到这条语句时,它会获取这个元组中的第一项并将其分配给变量。 同样,第二项和第三项将分配给变量。 在此过程中,我们将这个元组解包为 3 个变量。 让我们检查一下我们的输出。
解包也可以用列表来完成。
字典
我们将学习 Python 中的字典。 我们在想要存储以键值对形式出现的信息的情况下使用字典。
这是一个例子。 想一想有一堆属性的客户,比如姓名、电子邮件、电话号码、地址等。 现在这些属性中的每一个都有一个值。 例如:
name = Jay
email = [email protected]
在此示例中,我们的键是姓名、电子邮件和电话。 每个键都与一个值相关联,因此这是我们使用字典的地方。 使用字典,我们可以存储一堆键值对。 让我向您展示如何在 python 中定义字典。
customer = {
"name": "Jay",
"email": "[email protected]",
"age": 30,
"is_verified": True
}
键可以设置为字符串、数字、布尔值或任何值。 键是唯一的,只能定义一次,即我不能用其他数字再次定义“年龄”。 它们也区分大小写。
现在,如果我输入 customer["name"],
它会叫客户的名字。 让我们在终端上打印它:
我们也可以将这些方法与字典一起使用。 使用“get”方法可以复制上面演示的相同功能。
上述两种方法之间有一个特别的区别。 让我证明这一点。
您可以看到,当我们简单地打印一个不存在的密钥时,它会导致错误。 另一方面,使用该方法调用不存在的键会导致“无”结果,表示不存在值。 当使用“get”方法时,我们也可以提供一个默认值。
例如,如果这个字典没有“生日”键,我们可以这样提供:
customer.get("birthdate", "Jan 01, 1994")
我们还可以更新字典中的任何键,类似于列表。 假设我们要更新字典中的名称键。 这是我们将如何做到的。
customer["name"] = "Shahbaz"
类似的语法也可用于在我们的字典中添加新键。 让我们以类似的方式添加关键的“生日”。
customer["birthdate"] = "Jan 01, 1994"
因此,这是在 Python 中使用字典的基础知识。 它们非常重要,并且在现实世界中有很多应用。
锻炼
您将编写一个将数字转换为单词的程序,如下所示:
解决方案
这是给你们的解决方案。
phone = input("Phone: ")
digits_mapping = {
"1": "One",
"2": "Two",
"3": "Three",
"4": "Four",
"5": "Five",
"6": "Six",
"7": "Seven",
"8": "Eight",
"9": "Nine",
"0": "Zero"
}
output = " "
for ch in phone:
output += digits_mapping.get(ch, "!") + " "
print(output)
同样,您可以构建其他有趣的程序,例如“表情符号转换器” 玩得开心 PYTHONERS!
包起来!
我希望你喜欢这个讲座。 接下来,我们将深入探讨 Python 编程的一个重要方面、函数和参数。
发表评论