1
什么是最有效(或Pythonic的方式)来执行双循环如下(我知道如何做到这一点上的列表理解,但不是一个对象将被返回):循环的高效率
for i in range(0, 9):
for j in range(0, 9):
if self.get(i)[j] == "1":
return (i, j)
什么是最有效(或Pythonic的方式)来执行双循环如下(我知道如何做到这一点上的列表理解,但不是一个对象将被返回):循环的高效率
for i in range(0, 9):
for j in range(0, 9):
if self.get(i)[j] == "1":
return (i, j)
>>> next(((i, j)
for i in range(0, 9)
for j in range(0, 9)
if self.get(i)[j] == "1"), None)
如果找不到任何内容,将返回None
。
请参阅文档next
。
第一个参数是一个生成器。如果您提供None
作为第二个参数,则需要此设置。否则,您可以跳过额外的括号。如果你不提供None
,虽然它会抛出一个StopIteration
例外,如果没有发现。
看起来没问题。如果你真的需要在另一个for循环中使用for-loop,那么你没有其他办法可以做到。 – ForceBru