【问题标题】:Iterate list till condition python [closed]迭代列表直到条件python [关闭]
【发布时间】:2021-05-02 17:20:49
【问题描述】:

我需要迭代一个列表直到满足一个条件。 我想要最pythonic的方式来编写这段代码。

for i in list:
   if condition(i):
      foo(i)
   else:
      break

【问题讨论】:

  • 你有的就好了
  • stackoverflow.com/questions/9138112/… 是否回答了您的问题?
  • 我没问题。但不要使用内置的 list 作为变量 - 试试 lst 或类似的东西。
  • @ZaidAly,它没有。注意我的代码中的中断。

标签: python loops iterable


【解决方案1】:

你所拥有的很好,但对于更大的循环体,我会使用提前退出守卫:

for i in list:
   if not condition(i):
      break
   foo(i)

这有两个好处:

  1. 少一级缩进。更容易遵循代码。
  2. break 现在接近它所属的条件。否则,在阅读代码时,当您看到break 时,您需要回过头来记住它发生的时间

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    • 2021-02-14
    • 2014-06-24
    相关资源
    最近更新 更多