在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循环结构灵活、语法简洁,适用于各种数据处理场景。掌握不同的遍历技巧和循环控制语句,可以让你的程序更高效、更易维护。
建议多多练习不同数据结构的遍历方式,并结合实际问题提升实战能力。