Python中的for循环的基础

简介: Python中的for循环的基础

Python中的for循环的基础

1.1 for循环的语法

在Python中,for循环的基本语法如下:

for 变量 in 可迭代对象: 
# 循环体 
# 对每个元素执行的操作

这里,变量在每次迭代时会被赋予可迭代对象中的下一个元素的值,直到遍历完所有元素。

1.2 示例:遍历列表

fruits = ['apple', 'banana', 'cherry'] 
for fruit in fruits: 
print(fruit)

这段代码会依次打印出列表fruits中的每个水果名称。

二、for循环的进阶使用

2.1 使用range()函数

range()函数是Python中用于生成数字序列的函数,常与for循环结合使用以进行数值迭代。

# 打印0到4(不包括4)的数字 
for i in range(5): 
print(i) 

# 指定起始值和结束值 
for i in range(2, 5): 
print(i) 

# 指定起始值、结束值和步长 
for i in range(0, 10, 2): 
print(i)

2.2 遍历字符串

字符串在Python中也是可迭代对象,因此可以使用for循环遍历字符串中的每个字符。

greeting = "Hello, World!" 
for char in greeting: 
print(char)

2.3 列表推导式(List Comprehension)

虽然列表推导式本身不是for循环的扩展,但它基于for循环的概念,提供了一种更简洁的方式来创建列表。

# 使用列表推导式生成平方数的列表 
squares = [x**2 for x in range(10)] 
print(squares) 

# 过滤条件 
even_squares = [x**2 for x in range(10) if x % 2 == 0] 
print(even_squares)

三、for循环的嵌套

在for循环中,我们还可以嵌套另一个或多个for循环,以实现对复杂数据结构(如二维列表)的遍历。

3.1 遍历二维列表

matrix = [ 
[1, 2, 3], 
[4, 5, 6], 
[7, 8, 9] 
] 

for row in matrix: 
for item in row: 
print(item, end=' ') 
print() # 换行

四、for循环中的break和continue

4.1 break语句

break语句用于立即退出循环体,即使循环条件仍然为真。

for i in range(1, 10): 
if i == 5: 
break 
print(i) 
# 输出1到4

4.2 continue语句

continue语句用于跳过当前循环的剩余语句,并继续下一次循环。

for i in range(1, 10): 
if i % 2 == 0: 
continue 
print(i) 
# 输出1, 3, 5, 7, 9

五、for循环与字典

字典是Python中另一种重要的数据结构,它存储键值对。for循环可以用来遍历字典的键、值或键值对。

5.1 遍历字典的键

person = {'name': 'John', 'age': 30, 'city': 'New York'} 
for key in person: 
print(key)

5.2 遍历字典的值

for value in person.values(): 
print(value)

5.3 遍历字典的键值对

for key, value in person.items(): 
print(f"{key}: {value}")

六、列表推导式与生成器表达式

列表推导式(List Comprehension)和生成器表达式(Generator Expression)提供了简洁的方式从现有的可迭代对象中创建列表和生成器,它们在背后也是利用了for循环的原理。
列表推导式示例

# 使用列表推导式创建平方列表 
numbers = [1, 2, 3, 4, 5] 
squared = [x**2 for x in numbers] 
print(squared) 

# 条件列表推导式 
squared_if_odd = [x**2 for x in numbers if x % 2 != 0] 
print(squared_if_odd)

生成器表达式示例

# 生成器表达式,按需生成值,节省内存 
numbers = (1, 2, 3, 4, 5) 
squared_gen = (x**2 for x in numbers) 
for square in squared_gen: 
print(square)

for循环在文件处理中的应用
在Python中,for循环经常用于逐行读取文件内容。这是通过迭代文件对象(打开文件后返回的)来实现的。
示例:读取文件内容

with open('example.txt', 'r') as file: 
for line in file: 
print(line.strip()) # strip()去除行尾的换行符

七、for循环在字典遍历中的应用

字典(dict)是Python中另一种重要的数据结构,它存储键值对。for循环可以直接遍历字典的键、值或键值对。
示例:遍历字典

person = {'name': 'Alice', 'age': 30, 'city': 'New York'} 

# 遍历键 
for key in person: 
print(key) 

# 遍历值 
for value in person.values(): 
print(value) 

# 遍历键值对 
for key, value in person.items():
相关文章
|
机器学习/深度学习 自然语言处理 程序员
NLP:Transformer的简介(优缺点)、架构详解、案例应用之详细攻略
NLP:Transformer的简介(优缺点)、架构详解、案例应用之详细攻略
NLP:Transformer的简介(优缺点)、架构详解、案例应用之详细攻略
|
4月前
|
弹性计算 关系型数据库 网络安全
阿里云低价长效特惠活动解读:云服务器配置、价格、限购条件与云产品组合套餐介绍
阿里云ECS“99计划”推出低价长效特惠云服务器,包括经济型e实例(99元/年)和通用算力型u1实例(199元/年),满足个人及企业用户需求。活动提供多种配置选择,新老用户均可享受优惠,且支持续费。此外,用户还可选择加购弹性数据库、高效存储等套餐,并享受数据安全保障及镜像市场等增值服务,助力用户长期享受低价高品质的云服务。
719 2
|
数据采集 Python
Python正则表达式提取车牌号
Python正则表达式提取车牌号
527 1
|
Linux 数据处理
Linux命令中的tic:深入了解与高效应用
`tic`是Linux中用于处理 Tektronix 4015 终端文本解释的命令,源于troff文本格式化系统。尽管现代系统不再常见该终端,`tic`仍用于特定数据处理,尤其是与troff配合,将troff输出转换为特定格式。使用时注意兼容性、输入格式和参数调整,如`-a`设定宽高比。通过`man tic`可获取更多详情。示例:`troff document.tr | tic`。了解这些能更好地处理特定文本格式任务。
|
缓存 Unix 索引
Pandas中to_datetime()转换时间序列函数一文详解
Pandas中to_datetime()转换时间序列函数一文详解
4453 0
Pandas中to_datetime()转换时间序列函数一文详解
|
Shell Python
Python教程:return和yield的区别
Python教程:return和yield的区别
755 0
Python教程:return和yield的区别
|
机器学习/深度学习 存储 监控
基于YOLOv8深度学习的水稻害虫检测与识别系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战
基于YOLOv8深度学习的水稻害虫检测与识别系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战
|
机器学习/深度学习 人工智能 自然语言处理
|
计算机视觉 Python
【Python实战】——Python+Opencv是实现车牌自动识别
【Python实战】——Python+Opencv是实现车牌自动识别
|
机器学习/深度学习 存储 监控
基于YOLOv8深度学习的智能车牌检测与识别系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战
基于YOLOv8深度学习的智能车牌检测与识别系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战