当前位置:首页>python>教你搞定python基础知识(与列表共舞:初识for循环)

教你搞定python基础知识(与列表共舞:初识for循环)

  • 2026-09-02 20:25:31
教你搞定python基础知识(与列表共舞:初识for循环)

与列表共舞:初识for循环

欢迎回来!昨天我们学会了打造自己的“收纳架”——列表,并掌握了如何往架子上取放物品(增删改查)。但如果架子上有100个名字,你想给每个名字都打印一句问候语,难道要手动写100行print语句吗?当然不!这时候,就该我们的好帮手——for循环登场了。

小提示:可以把for循环想象成一个勤劳的“传送带”,它会自动将列表里的每个元素依次送到你面前,让你处理。

1. 遍历整个列表:for循环的基本用法

它的语法非常直观:“对于列表中的每一个元素,都去做某事”。

python

准备我们的好友列表

friends = ['alice', 'bob', 'charlie']

for循环开始:依次取出每个朋友,暂时叫它'friend'

for friend in friends:
# 对取出的当前这个朋友,打印一条问候语
print(f"你好,{friend.title()}!欢迎来到Python世界!")

循环外的代码,会在循环结束后执行

print("\n--- 循环结束,已问候所有朋友。 ---")

输出:

你好,Alice!欢迎来到Python世界!

你好,Bob!欢迎来到Python世界!

你好,Charlie!欢迎来到Python世界!

--- 循环结束,已问候所有朋友。 ---

代码拆解一下:

  • for friend in friends::这行是循环的“头部”。它告诉Python,从friends列表中取出第一个元素('alice'),把它赋值给变量friend,然后执行循环体。

  • 缩进的代码块(第5行):这是循环的“体”。每取出一个元素,就执行一次这里面的代码。所以alice执行一次,bob执行一次,charlie执行一次。

  • 未缩进的代码(第8行):循环结束后,程序继续往下执行。

重要提醒:别忘了for循环语句结尾的冒号 :,以及循环体代码的缩进。Python全靠缩进来判断哪些代码是循环的一部分。

2. 在循环中做更多事

在循环体里,你可以对拿到的元素做任何你想做的事。它不仅仅是一个print语句。

python
magicians = ['刘谦', '大卫', '彭彭']
for magician in magicians:
# 可以执行多行操作
print(f"{magician},请开始你的表演!")
print(f"观众为{magician}鼓掌!\n") # \n是换行符

print("感谢所有魔术师的精彩演出!")

输出:

刘谦,请开始你的表演!

观众为刘谦鼓掌!

大卫,请开始你的表演!

观众为大卫鼓掌!

彭彭,请开始你的表演!

观众为彭彭鼓掌!

感谢所有魔术师的精彩演出!

3. 使用 range() 创建数字列表

有时候我们需要处理一系列数字。Python提供了range()函数,它能轻松生成一系列数字。

python

使用range()打印数字1到4(注意:它会在指定的第二个数字前停止)

for value in range(1, 5):
print(value)

输出:

1

2

3

4

使用list()将range()的结果直接转换为列表

numbers = list(range(1, 6))
print(numbers) # 输出:[1, 2, 3, 4, 5]

range()还可以指定步长,比如打印1到10内的偶数

even_numbers = list(range(2, 11, 2)) # 从2开始,不断加2,直到11之前
print(even_numbers) # 输出:[2, 4, 6, 8, 10]

4. 列表的简单统计计算

当列表里都是数字时,配合一些函数能快速得到有用信息。

python
digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print(f"列表中的最小值是:{min(digits)}") # 输出:0
print(f"列表中的最大值是:{max(digits)}") # 输出:9
print(f"列表所有数字的和是:{sum(digits)}") # 输出:45

5. 列表解析:更高级的创建方式(预览版)

列表解析是一种更简洁的创建列表的方式,它将for循环和创建新元素的代码浓缩成一行。先混个脸熟,以后你会爱上它的。

python

传统方式:创建一个包含1到10的平方的列表

squares = []
for value in range(1, 11):
square = value ** 2
squares.append(square)
print(squares) # 输出:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

使用列表解析,一行搞定!

squares_2 = [value ** 2 for value in range(1, 11)]
print(squares_2) # 输出相同:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

七、动手练习:让代码自动化起来

今天的知识让我们的程序从“手工操作”迈向了“自动化处理”。请完成以下练习,巩固这个强大的技能:

  1. 三明治订单:

    • 创建一个名为sandwich_orders的列表,包含几种三明治的名字(如:金枪鱼、火腿、鸡蛋)。

    • 创建一个名为finished_sandwiches的空列表。

    • 使用for循环遍历订单列表。对于每种三明治,打印一条消息,比如“我正在做你的火腿三明治。”,并将其添加到已完成列表。

    • 循环结束后,打印所有已做好的三明治。

  2. 立方解析:

    • 使用列表解析创建一个列表,其中包含前10个整数(1到10)的立方。

    • 再用一个for循环将这些立方数打印出来。

结束语

恭喜你!你已经学会了如何用for循环驾驭列表,让繁琐的重复劳动一键自动化。range()函数和列表解析更是为你打开了高效处理数据的大门。明天,我们将探索列表的“切片”技术,让你能轻松地处理列表的部分元素——就像拥有了一个可以随意裁剪列表的“魔法剪刀”。

有任何疑问或想看看你的练习成果,欢迎在评论区留言。代码越敲越顺,我们明天见!

最新文章

随机文章