有没有更干净的方法来处理 for 循环中的(连续)独占 if 语句?

多梅尼科·莫迪卡

我是 Python 的新手(我只使用过 C)并且我发现了新的循环,例如 for/else ......所以我想知道我是否忽略了一种更干净的方法来处理这个循环:

flag = 0
for i in range (n):
    if not flag and condition:
        statement_1
        flag = 1
    if flag and condition:
        statement_2

我需要保留 for 计数,因为我知道至少有一个元素会满足条件,所以当我找到它时我会做 statement_1。然后,如果另一个元素也满足条件,我将执行 statement_2。

轻虎
flag = False  # I prefer booleans
for i in range(n):
    if condition(i):  # We always need it to be True
        if not flag:
            statement(i)
            flag = True
        else:
            statement2(i)

到目前为止,这是可行的,但是既然您说至少有一个满足条件

foo = range(n) # any iterable
iterfoo = iter(foo)
initial_value = next(i for i in iterfoo if condition(i))
statement(initial_value)
for i in iterfoo:
    if condition(i):
        statement2(i)

现在这两者(如果我没有遗漏一些东西)应该做同样的事情,只是方式不同,所以这是你的选择,虽然它也为你节省了 2 行代码,因为你不会在实际中做第一行代码,所以我投票给第二个片段:D

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有比几个if语句更有效的方法来处理按钮单击事件?

来自分类Dev

循环中处理语句错误

来自分类Dev

有没有更简单的方法在 JavaScript 中编写代码(while 循环和 switch 语句)?

来自分类Dev

有没有一种更干净的方法来检查条件以设置变量然后使用一堆IF语句?

来自分类Dev

有没有更干净的方法来处理文本框验证事件

来自分类Dev

循环中的 switch 语句有问题

来自分类Dev

Flask/SQLAlchemy/Docker 有没有更好的方法来处理我认为的循环依赖?包含完整的 github 项目

来自分类Dev

奇怪的if语句语法在for循环中没有主体

来自分类Dev

没有初始打印语句,循环中的Printf无法工作

来自分类Dev

牛顿方法:循环中的语句顺序

来自分类Dev

在方法循环中制作switch语句

来自分类Dev

有没有一种好的方法来确保特定的switch语句处理所有枚举值?

来自分类Dev

C - While 循环中的 If 语句。连续扫描f()

来自分类Dev

有没有办法让这个 if 语句更短更干净?

来自分类Dev

Android:在if else语句中有没有更简单的方法来调用特定整数?

来自分类Dev

有没有编写不需要更新语句的for循环的标准方法?

来自分类Dev

使用具有较高循环复杂性的if / switch语句来处理代码的最佳方法是什么?

来自分类Dev

在for循环中处理两个语句的Pythonic方法?

来自分类Dev

寻求一种更干净的方法来避免嵌套if语句(带有sapply)

来自分类Dev

寻求一种更干净的方法来避免嵌套if语句(带有sapply)

来自分类Dev

有没有更清洁的方法来执行此循环?

来自分类Dev

Haskell:有没有更好的方法来编写具有相同RHS的case语句?

来自分类Dev

有没有更有效的方法来运行多个UPDATE SQL语句

来自分类Dev

Haskell:有没有更好的方法来编写具有相同RHS的case语句?

来自分类Dev

有没有更有效的方法来运行多个UPDATE SQL语句

来自分类Dev

Javascript:循环中有多个Switch语句

来自分类Dev

for-in循环中的该switch语句有什么问题?

来自分类Dev

在 MATLAB 的 for 循环中嵌套 if 语句有什么特殊规则吗?

来自分类Dev

带有用户输入的 while 循环中的 if 语句

Related 相关文章

  1. 1

    有没有比几个if语句更有效的方法来处理按钮单击事件?

  2. 2

    循环中处理语句错误

  3. 3

    有没有更简单的方法在 JavaScript 中编写代码(while 循环和 switch 语句)?

  4. 4

    有没有一种更干净的方法来检查条件以设置变量然后使用一堆IF语句?

  5. 5

    有没有更干净的方法来处理文本框验证事件

  6. 6

    循环中的 switch 语句有问题

  7. 7

    Flask/SQLAlchemy/Docker 有没有更好的方法来处理我认为的循环依赖?包含完整的 github 项目

  8. 8

    奇怪的if语句语法在for循环中没有主体

  9. 9

    没有初始打印语句,循环中的Printf无法工作

  10. 10

    牛顿方法:循环中的语句顺序

  11. 11

    在方法循环中制作switch语句

  12. 12

    有没有一种好的方法来确保特定的switch语句处理所有枚举值?

  13. 13

    C - While 循环中的 If 语句。连续扫描f()

  14. 14

    有没有办法让这个 if 语句更短更干净?

  15. 15

    Android:在if else语句中有没有更简单的方法来调用特定整数?

  16. 16

    有没有编写不需要更新语句的for循环的标准方法?

  17. 17

    使用具有较高循环复杂性的if / switch语句来处理代码的最佳方法是什么?

  18. 18

    在for循环中处理两个语句的Pythonic方法?

  19. 19

    寻求一种更干净的方法来避免嵌套if语句(带有sapply)

  20. 20

    寻求一种更干净的方法来避免嵌套if语句(带有sapply)

  21. 21

    有没有更清洁的方法来执行此循环?

  22. 22

    Haskell:有没有更好的方法来编写具有相同RHS的case语句?

  23. 23

    有没有更有效的方法来运行多个UPDATE SQL语句

  24. 24

    Haskell:有没有更好的方法来编写具有相同RHS的case语句?

  25. 25

    有没有更有效的方法来运行多个UPDATE SQL语句

  26. 26

    Javascript:循环中有多个Switch语句

  27. 27

    for-in循环中的该switch语句有什么问题?

  28. 28

    在 MATLAB 的 for 循环中嵌套 if 语句有什么特殊规则吗?

  29. 29

    带有用户输入的 while 循环中的 if 语句

热门标签

归档