For 基本语法
for element in iterable:
statement(s)
element:是循环变量,用于存储可迭代对象中当前遍历到的元素。
iterable:是需要遍历的可迭代对象,如列表、元组、字典等。
for遍历列表
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
apple
banana
cherry
for遍历字符串
word = "Python"
for char in word:
print(char)
P
y
t
h
o
n
for遍历元组
numbers = (1, 2, 3, 4, 5)
for num in numbers:
print(num * 2)
2
4
6
8
10
for 遍历集合
colors = {"red", "green", "blue"}
for color in colors:
print(color)
red
green
blue
for 遍历字典
【推荐】使用 items() 方法同时获取键和值
person = {"name": "Alice", "age": 25, "city": "New York"}
for key, value in person.items():
print(f"Key: {key}, Value: {value}")
Key: name, Value: Alice
Key: age, Value: 25
Key: city, Value: New York
使用 keys() 方法获取所有键,然后通过键获取值
person = {"name": "Alice", "age": 25, "city": "New York"}
for key in person.keys():
print(f"Key: {key}, Value: {person[key]}")
Key: name, Value: Alice
Key: age, Value: 25
Key: city, Value: New York
person = {"name": "Alice", "age": 25, "city": "New York"}
for key in person:
print(key, ":", person[key])
name : Alice
age : 25
city : New York
使用 values() 方法获取所有值(仅需值时使用)
person = {"name": "Alice", "age": 25, "city": "New York"}
for value in person.values():
print(f"Value: {value}")
Value: Alice
Value: 25
Value: New York
方法总结
- items() 方法 是最常用且推荐的方法,因为它能直接同时获取键和值,代码简洁且效率高
- 直接遍历字典 或使用 keys() 方法,虽然也能实现需求,但需要额外通过键去获取对应的值,比 items() 方法稍显繁琐
- values() 方法 仅适用于只需要获取字典中的值而不关心键的情况
for 嵌套循环
for i in range(3):
for j in range(2):
print(f"i={i}, j={j}")
i=0, j=0
i=0, j=1
i=1, j=0
i=1, j=1
i=2, j=0
i=2, j=1
for 循环控制语句
break 语句:用于提前终止循环
for num in range(10):
if num == 5:
break
print(num)
0
1
2
3
4
continue 语句:用于跳过当前循环的剩余代码,直接进入下一次循环
for num in range(10):
if num % 2 == 0:
continue
print(num)
1
3
5
7
9
注意事项
- 在遍历可变序列(如列表)时,如果需要在循环中修改序列的大小(如添加或删除元素),需要特别小心,因为这可能会影响循环的执行和结果。通常可以通过创建一个副本或使用索引操作来实现安全的修改。
- 循环变量的命名应具有一定的语义意义,以提高代码的可读性。
- for 循环的缩进要正确,否则会导致错误或不符合预期的执行流程。
range函数
range() 函数用于生成一个整数序列,通常用于循环中,尤其是 for 循环。它是一个非常灵活且高效的工具,可以生成不同形式的整数序列。
基本语法
- range(stop):生成从 0 到 stop-1 的整数序列。
- range(start, stop):生成从 start 到 stop-1 的整数序列。
- range(start, stop, step):生成从 start 到 stop-1 的整数序列,步长为 step。
参数说明
- start:序列的起始值(包含),默认为 0。
- stop:序列的结束值(不包含),必须指定。
- step:序列中相邻两个值之间的差值,默认为 1,可以是正数或负数。
1 range(stop)
for i in range(5):
print(i)
运行结果:
0
1
2
3
4
2. range(start, stop)
for i in range(2, 7):
print(i)
2
3
4
5
6
3. range(start, stop, step)
正步长:
for i in range(1, 10, 2):
print(i)
1
3
5
7
9
负步长:
for i in range(10, 0, -1):
print(i)
10
9
8
7
6
5
4
3
2
1