【Python实战】元组!编程小白的必修课!

想对大家说的话:大家好呀,耶耶最近打算开一起新的专栏,带着大家敲代码,让大家在了解python理论的基础上学会实操,真正做到大彻大悟!

在这里,我会将Python代码像拆解精密玩具一样,一步步剖析,确保每一步的来龙去脉都清晰可见。

我会详细解释为什么选择特定的关键字和结构,通过对比不同类型的代码片段,让你不仅知其然,更知其所以然!!!

拜托大家给我点一个关注!让我们一起进步吧!!!


上期本期学习了如何处理列表的部分元素,今天带大家了解一下元组~


元组

前言元组在Python中是一个非常基础且常用的数据结构,它用来存储一系列不可变的有序项目。

你可以把元组想象成一个装东西的盒子,这个盒子里可以放任何类型的东西,比如数字、字符串或者其他对象,而且这些物品按照放入时的顺序排列。

与列表不同的是,一旦创建了元组,你就不能修改其中的元素——也就是说,元组是不可变的。

定义元组

元组看起来犹如列表,但使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来 访问其元素,就像访问列表元素一样。

举个栗子

假设我们要记录某个人的基本信息,如姓名和年龄,我们可以使用元组来保存这些信息。

# 简单的元组,存储学生的名字和数学成绩
student = ("小明", 95)

# 使用简单变量名解包元组
name, math = student

# 打印结果
print(f"学生: {name}, 数学成绩: {math}")

我们首先定义了一个student元组,所以我们这里用的是圆括号不是方括号,接下来运行这段代码

学生: 小明, 数学成绩: 95

下面尝试修改一下第一个元素的值

# 创建一个元组,包括学生的名字和数学成绩
student = ("小明", 95)

# 打印原始信息
print(f"学生: {student[0]}, 数学成绩: {student[1]}")

# 尝试修改元组的第一个元素,这将会引发错误
try:
    student[0] = "小红"  # 这一行代码会导致TypeError
except TypeError as e:
    print(f"发生错误: {e}")

当你运行这段代码时,最后一行student[0] = "小红"将试图修改元组的内容,这是不允许的,因此Python会抛出一个TypeError异常,指出元组对象不支持项赋值。这个错误消息告诉我们不能改变元组里的元素,因为它们是只读的。

遍历元组中的所有值

遍历元组中的所有值是一个常见的操作,它允许你访问元组中的每一个元素。在Python中,你可以使用for循环来轻松地遍历一个元组。

举个栗子

假设我们有一个装满了不同水果的盒子(用元组表示),现在我们要检查盒子里的每一种水果,并且说出它的名字。这个过程就像是遍历元组中的每个元素一样。

# 创建一个包含多种水果的元组
fruits = ("苹果", "香蕉", "橙子")

# 使用for循环遍历元组中的所有值
for fruit in fruits:
    print(f"这是一个: {fruit}")

这段代码会依次输出:

这是一个: 苹果
这是一个: 香蕉
这是一个: 橙子

在这个例子中,for fruit in fruits: 行就是告诉Python:“对于fruits元组里的每一个元素,都执行接下来缩进的代码块。”这里的fruit是一个临时变量,在每次迭代时它都会被赋予元组中下一个元素的值。然后我们在循环体内部打印出当前fruit的值。当所有元素都被处理过后,循环结束。

修改元组变量

在Python中,元组(tuple)是一种不可变序列类型。这意味着一旦一个元组被创建,就不能直接修改它的内容——你不能添加、删除或改变元组中的元素。如果你想要"修改"一个元组,实际上你需要创建一个新的元组。

举个栗子

假设你有一个装有固定数量和种类的书的盒子,这个盒子就像是一个元组。如果你突然想把一本书换成另一本书,由于盒子是固定的(就像元组是不可变的一样),你不能直接替换盒子里的书。相反,你得拿出所有的书,然后创建一个新的装有不同书籍组合的盒子。

# 创建一个包含数字的元组
numbers = (1, 2, 3)

# 尝试修改元组中的第一个元素,这会引发TypeError
# numbers[0] = 4  # 这行代码如果取消注释将会导致错误

如果需要修改元组变量通过以下几种方式间接实现:

1. 重新赋值整个元组
# 创建一个新的元组并将其赋值给原来的变量名
numbers = (4, 2, 3)  # 现在numbers代表的是新的元组
2. 使用切片和加法构造新元组
# 假设我们有这样一个元组,就像是一串珠子
original_tuple = (1, 2, 3)

# 我们想要用4替换掉第一个元素1
# 使用切片获取除了第一个元素外的所有元素,即[1:]表示从索引1开始到最后
remaining_elements = original_tuple[1:]

# 现在我们创建一个只有一个元素的新元组,也就是新的珠子
new_first_element = (4,)

# 最后我们将新的第一个元素与剩余的元素通过加法组合成新元组
new_tuple = new_first_element + remaining_elements  # 结果为 (4, 2, 3)
3. 转换为列表再转换回元组
# 把元组转换成列表,因为列表是可以修改的
temp_list = list(numbers)

# 修改列表中的元素
temp_list[0] = 4

# 再把列表转换回元组
numbers = tuple(temp_list)  # 结果为 (4, 2, 3)

这些方法都涉及到创建一个新的对象,并且使用这个新对象来替代旧的元组。记住,虽然看起来像是“修改”了元组,但实际上你只是创建了一个新的元组而已。


OK啦,以上就是本期的全部内容,如果对大家有帮助的话请大家给小编点个赞和关注哟~感谢小伙伴们阅读到这里,我们下期再见!

你可能感兴趣的:(python)