想对大家说的话:大家好呀,耶耶最近打算开一起新的专栏,带着大家敲代码,让大家在了解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 # 这行代码如果取消注释将会导致错误
如果需要修改元组变量通过以下几种方式间接实现:
# 创建一个新的元组并将其赋值给原来的变量名
numbers = (4, 2, 3) # 现在numbers代表的是新的元组
# 假设我们有这样一个元组,就像是一串珠子
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)
# 把元组转换成列表,因为列表是可以修改的
temp_list = list(numbers)
# 修改列表中的元素
temp_list[0] = 4
# 再把列表转换回元组
numbers = tuple(temp_list) # 结果为 (4, 2, 3)
这些方法都涉及到创建一个新的对象,并且使用这个新对象来替代旧的元组。记住,虽然看起来像是“修改”了元组,但实际上你只是创建了一个新的元组而已。