Python - 在 if 语句的 for 循环中跳出 if 语句

这是一个有点令人困惑的问题,但这是我的(简化的)代码。

if (r.status_code == 410):
     s_list = ['String A', 'String B', 'String C']
     for x in in s_list:
         if (some condition):
             print(x)
             break

     print('Not Found')

问题是,如果满足某些条件(即打印 x),我不希望打印“未找到”。如何跳出最外层的 if 语句?

最佳答案

您不能跳出if 语句;但是,您可以使用 for 循环的 else 子句有条件地执行 print 调用。

if (r.status_code == 410):
     s_list = ['String A', 'String B', 'String C']
     for x in in s_list:
         if (some condition):
             print(x)
             break
     else:
         print('Not Found')

print 仅当 for 循环在遍历 s_list 时被 StopIteration 异常终止时才会被调用, 不是 如果它被 break 语句终止。

https://stackoverflow.com/questions/65813482/

相关文章:

r - 合并数据帧以使用 plyr 绘制多个时间序列

c - 为什么我的 C 中的 sin 计算代码返回错误的值?

python - 如何将 seaborn 图保存为 svg 或 png

javascript - 基于另一个对象递归更新特定键的嵌套对象值

visual-studio-code - 更新 VS CODE 加载工作区文件夹时出错

python-3.x - 如何更新pyarrow表中的数据?

python - 按值属性对字典进行排序

python - 获取不规则形状的中心

c# - EF Core 5.0 - 更新 ASP.NET Core Web API 中的多对多实体

python - 检查列表与列表理解重叠