Python 中的循环 else 子句
Python 中 for-else 和 while-else 的 else 子句是什么时候执行的?有什么实用场景?
回答
孤独的心
else 子句在循环正常完成(没有通过 break 退出)时执行。
# 查找质数
for n in range(2, 10):
for i in range(2, n):
if n % i == 0:
print(f'{n} = {i} * {n//i}')
break
else:
print(f'{n} is prime') # 没有 break 时执行
# 搜索示例
def find_user(users, target):
for user in users:
if user['id'] == target:
print('Found!')
break
else:
print('Not found!') # 循环结束未找到
注意:
else在循环条件不满足时(如空列表)也会执行- 循环中有
return也会跳过else while循环同理