Python循环与遍历详解:从入门到进阶

在Python编程中,循环和遍历是最基础但极其重要的知识点。理解并掌握这部分内容,是编写高效、清晰代码的前提。本文将从for循环和while循环的基本语法出发,逐步深入探讨range、enumerate、zip、列表推导式、字典遍历等Python中常见的遍历技巧,并通过多个示例演示如何灵活应用这些技巧解决实际问题。


一、for循环基础

for循环用于遍历可迭代对象(如列表、字符串、字典、集合等)。其基本语法如下:

python 复制代码
for item in iterable:
    # 执行代码块

示例:遍历列表

python 复制代码
fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
    print(fruit)

遍历字符串

python 复制代码
for char in "Python":
    print(char)

二、while循环基础

while循环用于在满足特定条件下反复执行一段代码。

python 复制代码
while condition:
    # 执行代码块

示例:输出1到5

python 复制代码
i = 1
while i <= 5:
    print(i)
    i += 1

三、range()函数

range()用于生成指定范围的数字序列,常与for配合使用。

python 复制代码
for i in range(5):
    print(i)  # 输出 0 到 4

指定起始值和步长

python 复制代码
for i in range(1, 10, 2):
    print(i)  # 输出奇数 1,3,5,7,9

四、enumerate()函数

enumerate()可在遍历时获取索引与元素。

python 复制代码
names = ['Alice', 'Bob', 'Charlie']
for index, name in enumerate(names):
    print(index, name)

五、zip()函数

zip()可以并行遍历多个可迭代对象。

python 复制代码
names = ['Tom', 'Jerry']
ages = [25, 30]
for name, age in zip(names, ages):
    print(f'{name} is {age} years old')

六、字典遍历

Python提供多种遍历字典的方式:

遍历键

python 复制代码
for key in my_dict:
    print(key)

遍历键值对

python 复制代码
for key, value in my_dict.items():
    print(key, value)

遍历值

python 复制代码
for value in my_dict.values():
    print(value)

七、集合遍历

集合(set)可直接使用for循环遍历:

python 复制代码
colors = {'red', 'green', 'blue'}
for color in colors:
    print(color)

八、列表推导式与生成式

列表推导式

python 复制代码
squares = [x*x for x in range(1, 6)]  # [1, 4, 9, 16, 25]

条件筛选

python 复制代码
even = [x for x in range(10) if x % 2 == 0]

字典推导式

python 复制代码
squares_dict = {x: x**2 for x in range(5)}

九、嵌套循环

嵌套循环可用于二维结构处理:

python 复制代码
matrix = [[1, 2], [3, 4], [5, 6]]
for row in matrix:
    for col in row:
        print(col, end=' ')

十、循环控制语句

break:提前终止循环

python 复制代码
for i in range(10):
    if i == 5:
        break
    print(i)

continue:跳过当前迭代

python 复制代码
for i in range(5):
    if i == 2:
        continue
    print(i)

else子句

循环正常结束后执行else,若通过break退出则不执行:

python 复制代码
for i in range(5):
    print(i)
else:
    print("Loop ended")

十一、实战案例:统计单词频率

python 复制代码
text = "python is simple and python is powerful"
word_count = {}
for word in text.split():
    word_count[word] = word_count.get(word, 0) + 1
print(word_count)

十二、总结

Python循环结构灵活、语法简洁,适用于各种数据处理场景。掌握不同的遍历技巧和循环控制语句,可以让你的程序更高效、更易维护。

建议多多练习不同数据结构的遍历方式,并结合实际问题提升实战能力。

相关推荐
毛飞龙3 小时前
Python类(class)参数self的理解
python··self
魔尔助理顾问3 小时前
系统整理Python的循环语句和常用方法
开发语言·后端·python
颜颜yan_4 小时前
Python面向对象编程详解:从零开始掌握类的声明与使用
开发语言·redis·python
我的ID配享太庙呀6 小时前
Django 科普介绍:从入门到了解其核心魅力
数据库·后端·python·mysql·django·sqlite
@蓝莓果粒茶6 小时前
LeetCode第350题_两个数组的交集II
c++·python·学习·算法·leetcode·职场和发展·c#
FinAnalyzer7 小时前
如何在 InsCodeAI 上搭建并使用 Jupyter Notebook 环境?
ide·python·jupyter
java1234_小锋7 小时前
【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 微博文章数据可视化分析-文章分类下拉框实现
python·自然语言处理·flask
檀越剑指大厂7 小时前
【Python系列】Flask 应用中的主动垃圾回收
开发语言·python·flask
檀越剑指大厂7 小时前
【Python系列】使用 memory_profiler 诊断 Flask 应用内存问题
开发语言·python·flask
WXX_s7 小时前
【OpenCV篇】OpenCV——03day.图像预处理(2)
人工智能·python·opencv·学习·计算机视觉