Python基础教程:列表遍历、range函数与元组详解
本文深入解析Python基础数据结构,重点讲解列表的for循环遍历技巧、range函数生成数字序列及列表的方法,以及切片操作的索引规则。同时对比介绍元组的定义、访问方式及其不可修改的特性,通过代码示例展示变量重新赋值的合法性,帮助开发者掌握Python核心编程概念。
前言
大家好,本期内容我们将回顾Python基础中的列表操作,检验大家对这些知识点的掌握程度。
遍历整个列表
在实际开发中,遍历列表并对每个元素执行相同操作是常见需求。在Python中,我们可以利用for循环来实现这一功能。
假设我们需要打印列表中所有手机品牌,如果手动逐个获取并打印,当数据量巨大时不仅效率低下,还容易出错。使用for循环可以高效解决这一问题。
具体示例如下:
shouji=['iphone','huawei','xiaomi','vivo','oppo']
for shoujis in shouji:
print(shoujis)
程序运行后的输出结果
iphone huawei xiaomi vivo oppo
深入理解循环机制
循环是计算机自动重复执行任务的核心机制之一,理解其工作原理至关重要。
Python执行for循环时,首先读取第一行命令 for shoujis in shouji:,这使Python获取列表shouji中的第一个值iphone。接着执行下一行 print(shoujis),打印出读取到的值iphone,随后循环继续处理后续元素。
在for循环中执行多条命令
在for循环内部,可以对列表中的每个元素执行任意操作。以下示例展示了如何为每部手机打印一条特定的消息。
shouji=['iphone','huawei','xiaomi','vivo','oppo']
for shoujis in shouji:
print(f"{shoujis.title()} it is a good phone")
运行结果展示
Iphone it is a good phone Huawei it is a good phone Xiaomi it is a good phone Vivo it is a good phone Oppo it is a good phone
在for循环中,所有缩进的代码行都属于循环体的一部分,针对列表中的每一个值都会执行一次。
在for循环结束后执行操作
位于for循环之后且没有缩进的代码只执行一次,不会随循环重复执行。例如,我们可以遍历所有手机后,统一打印一条五星好评的消息,该消息代码无需缩进。
shouji=['iphone','huawei','xiaomi','vivo','oppo']
for shoujis in shouji:
print(f"{shoujis} it is a good phone")
print("我给出五星好评")
运行结果
iphone it is a good phone huawei it is a good phone xiaomi it is a good phone vivo it is a good phone oppo it is a good phone 我给出五星好评
编写正确缩进的代码时需注意常见的缩进错误。对于属于for循环组成部分的代码行,必须正确缩进。有时忘记缩进代码虽不会报错,但运行结果可能不符合预期。
使用range()函数
range()函数能轻松生成一系列数字。
例如:
for value in range(1,5):
print(value)
运行结果
1 2 3 4
上述代码看似打印1到5,但实际并未打印5。这是编程语言中常见的“差一行”行为所致。若需打印5,则需调整参数。
for value in range(1,6);
调用函数range()时,若未指定起始参数,Python将从0开始计数。
使用range()创建数字列表
要创建数字列表,可使用list()函数将range()的结果直接转换为列表。将range()作为list()的参数,输出即为数字列表。
numbers = list(range(1,6))
print(numbers)
运行结果
[1, 2, 3, 4, 5]
range函数还支持指定步长。
numbers = list(range(1,6,2))
print(numbers)
运行结果
[1, 3, 5]
利用range()可以创建所需的数集,例如计算0到10之间偶数的平方。
squares = []
for numbers in range(0,11,2):
square = numbers ** 2
squares.append(square)
print(squares)
运行结果
[0, 4, 16, 36, 64, 100]
切片
创建切片需指定第一个和最后一个元素的索引。与range()类似,Python在到达第二个索引前截止。
你可以提取列表的任意子集。若要提取第1、2、3个数,可将起始索引设为0,终止索引设为3。
若未指定起始索引,Python将从列表开头开始提取。
若未指定终止索引,Python将提取至列表末尾。
value = list(range(1,11))
print(value[0:3])
print(value[4:])
print(value[:4])
运行结果
[1, 2, 3]
[5, 6, 7, 8, 9, 10]
[1, 2, 3, 4]
元组
列表适用于存储运行期间可能变化的数据集,且列表可修改。但有时需要创建不可修改的元素序列,元组可满足此需求。
元组外观类似列表,但使用圆括号而非中括号标识。定义元组后,可通过索引访问元素,用法与列表相同。
以下示例演示元组操作及尝试修改元组的后果。
name = ('xiao','xiong')
print(name[0])
print(name[1])
name[1]='old'
运行结果
Traceback (most recent call last): File "C:\Users\Desktop\python\py1.py", line 195, in <module> name[1]='old' TypeError: 'tuple' object does not support item assignment xiao xiong
由此可见,尝试修改元组内的数据会引发报错。
按照列表的访问方法,可以正常读取元组元素。
遍历元组中的所有值
与列表类似,可以使用for循环遍历元组中的所有值。
numbers = (1,2,3,4,5,6)
for number in numbers:
print(number)
运行结果
1 2 3 4 5 6
修改元组变量
虽然不能修改元组的元素,但可以为存储元组的变量重新赋值。因此可以遍历整个元组:
numbers = (1,2,3,4,5,6)
print("original numbers")
for number in numbers:
print(number)
numbers = (11,22,33,44,55,66)
print("change numbers")
for number in numbers:
print(number)
运行结果
original numbers 1 2 3 4 5 6 change numbers 11 22 33 44**加粗样式** 55 66
首先定义一个元组并打印其数据,随后将一个新元组关联到变量numbers并打印新数据。此次编译成功,因为给元组变量重新赋值是合法的。
至此,关于Python基础列表操作的文章介绍完毕。如需了解更多Python列表操作内容,请搜索本站往期文章或继续浏览相关文章,感谢大家的支持!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













