Python for in循环

本文介绍了Python中for..in循环的基本用法及其工作原理,通过示例代码讲解了如何利用range函数生成数字序列,并展示了如何遍历这些序列。此外还对比了Python与C/C++/Java/C#等语言中for循环的不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

for..in语句是另一个循环语句,它迭代一个对象的序列,例如经历序列中的第一项。在后面的章节,我们将会看到更多关于序列的细节。现在,你需要知道的是一个序列只是一个有序的项目的集合。

例如 (保存为 for.py):

  1. for i in range(1, 5):
  2. print(i)
  3. else:
  4. print('for循环结束')

输出:
1
2
3
4
for循环结束

它是如何工作的:
打印一个数字序列。我们使用内置的range函数生成这个数字序列。

我们在这里所做的是提供两个数字,range返回一个从第一个数字到第二个数字的一个数字序列。例如,range(1,5)给出序列[1, 2, 3, 4]。默认情况下,range 步距取为1。如果我们提供第三个数字,range那么它变成了步距。例如range(1,5,2)得到[1,3]。请记住,范围扩展到第二号码,即它不包 括第二个数字。

注意,range()生成一个数字序列,当for循环请求下一个项目时,它一次只生成一个数字。如果你想立刻看到完整的数字序列,使用list(range())。list(列表)将在[数据结构章]中解释。

for循环然后遍历这个范围,for i in range(1,5)相当于 for i in [1, 2, 3, 4],这就像把序列中的每一个数(或对象)分配给i,一次一个,然后为每个i值执行该语句块。在本例中,在语句块中我们只是打印它的值。

记住,else部分是可选的。当包括它时,除非遇到[break][#中断)语句,当for循环结束时,它执行一次。

记住,for..in循环可以作用于任何序列。在这里,我们对一个由内建的range函数生成的一个数字列表,但是一般来说,我们可以使用任何种类对象的任何类型的序列!在后面的章节,我们将详细探讨这个想法。

C/C++/Java/C#程序要注意:

    • Python的for循环完全不同于C/c++的for循环。c#程序员会注意到,在Python中for循环类似于c中的foreach循环c#。Java程序员会注意到,同样类似于在Java 1.5中的to for (int i : IntArray)。
    • 在C/c++中,如果你想写for (int i = 0; i < 5; i++),那么在Python中你只要写 for i in range(0,5)。正如您可以看到的,在Python中for循环更简单,更富有表现力且不易出错。

转载于:https://www.cnblogs.com/wzc4300741/p/5285504.html

Python 中的 `for` 循环是一种用于遍历可迭代对象(如字符串、列表、元组、字典、集合等)的控制流结构。它的基本语法如下: ```python for 变量 in 可迭代对象: # 循环体代码 ``` 在每次循环中,`for` 会从可迭代对象中取出一个元素赋值给变量,并执行一次循环体中的代码。当所有元素都被遍历完成后,循环自动结束。 ### 遍历不同类型的可迭代对象 1. **遍历字符串** 字符串是一个字符序列,可以通过 `for` 循环逐个字符进行处理。 ```python for char in "Hello": print(char) ``` 输出: ``` H e l l o ``` 2. **遍历列表** 列表是 Python 中常用的有序数据类型,可以存储多个元素。 ```python fruits = ["apple", "banana", "cherry"] for fruit in fruits: print(fruit) ``` 输出: ``` apple banana cherry ``` 3. **遍历元组** 元组与列表类似,但其元素不可变。 ```python coordinates = (1, 2, 3) for coord in coordinates: print(coord) ``` 输出: ``` 1 2 3 ``` 4. **遍历字典** 字典由键值对组成,默认情况下 `for` 循环遍历的是字典的键。 ```python person = {"name": "Alice", "age": 25, "city": "New York"} for key in person: print(key) ``` 输出: ``` name age city ``` 如果需要同时获取键和值,可以使用 `.items()` 方法。 ```python for key, value in person.items(): print(f"{key}: {value}") ``` 输出: ``` name: Alice age: 25 city: New York ``` 5. **遍历集合** 集合是一种无序且不包含重复元素的数据结构。 ```python unique_numbers = {1, 2, 3} for number in unique_numbers: print(number) ``` 输出: ``` 1 2 3 ``` ### 结合 `range()` 函数使用 `range()` 函数常用于生成数字序列,适合与 `for` 循环结合使用,实现固定次数的循环。 - **单参数用法**:`range(stop)`,从 0 开始到 `stop - 1`。 ```python for i in range(5): print(i) ``` 输出: ``` 0 1 2 3 4 ``` - **双参数用法**:`range(start, stop)`,从 `start` 开始到 `stop - 1`。 ```python for i in range(2, 6): print(i) ``` 输出: ``` 2 3 4 5 ``` - **三参数用法**:`range(start, stop, step)`,指定步长。 ```python for i in range(1, 10, 2): print(i) ``` 输出: ``` 1 3 5 7 9 ``` ### 使用 `else` 子句 `for` 循环支持 `else` 子句,它会在循环正常结束后执行(即不是通过 `break` 终止的情况)。 ```python for i in range(3): print(i) else: print("Loop finished") ``` 输出: ``` 0 1 2 Loop finished ``` 如果循环被 `break` 提前终止,则不会执行 `else` 块。 ```python for i in range(3): if i == 1: break print(i) else: print("Loop finished") ``` 输出: ``` 0 ``` ### 示例:打印乘法表 下面是一个使用嵌套 `for` 循环打印九九乘法表的例子: ```python for i in range(1, 10): for j in range(1, i + 1): print(f"{j}*{i}={i*j}", end="\t") print() ``` 输出: ``` 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 ... (完整输出略) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值