2024-03-28 11:41:22 发布
网友
我知道使用for循环并调用我的函数,直到我得到的返回值不是None,但我正在寻找一些内置的python,可以在这里提供帮助。你知道吗
例如-iter(myfunc(), None)它将调用myfunc(),直到返回None
iter(myfunc(), None)
myfunc()
None
我正在寻找与此完全相反的代码,例如-iter(myfunc(), not None), Call myfunc(),直到它返回除None之外的任何东西
iter(myfunc(), not None), Call myfunc()
提前谢谢。。你知道吗
不要什么都找一个内置的。在我看来,即使是通常的双参数形式的iter也不值得使用,因为它不是一个众所周知的特性,这使得大多数人更难阅读。保持简单明了。多排一两行不会有什么坏处。你知道吗
iter
while True: x = myfunc() if x is not None: break
只有三行:
x = None while x is None: x = f()
没有现成的内置函数,但构建生成器函数很容易:
def iter_while_none(f): while True: value = f() if value is not None: return yield value
虽然产生的值不是那么有趣,但毕竟每次都是None。你知道吗
不要什么都找一个内置的。在我看来,即使是通常的双参数形式的
iter
也不值得使用,因为它不是一个众所周知的特性,这使得大多数人更难阅读。保持简单明了。多排一两行不会有什么坏处。你知道吗只有三行:
没有现成的内置函数,但构建生成器函数很容易:
虽然产生的值不是那么有趣,但毕竟每次都是
None
。你知道吗相关问题 更多 >
编程相关推荐