Python基础教程:列表遍历、range函数与元组详解

Ryan
Ryan
发布时间:2026-10-16 | 5人浏览过
原创

本文深入解析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列表操作内容,请搜索本站往期文章或继续浏览相关文章,感谢大家的支持!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表