gpt4 book ai didi

python - 在 Python 中替代 Yield

转载 作者:太空宇宙 更新时间:2023-11-04 01:16:57 25 4
gpt4 key购买 nike

是否有替代(即使更长)方法来编写此代码的 yield 部分?我对这个功能不是很熟悉,希望保持简单。

for i in range(0, len(lstInput) - intCount + 1):
if intCount == 1:
yield [lstInput[i]]
else:
current = lstInput[i]
remainder = lstInput[i+1:]
for rest in yieldLotto(remainder, intCount - 1):
yield [current] + rest

最佳答案

另一种方法是将循环嵌入到您的调用程序中,或者将其更改为返回一个列表。不过,这意味着一切都将进入内存。

def foo():
return_list = []
for i in range(0, len(lstInput) - intCount + 1):
if intCount == 1:
return_list.append([lstInput[i]])
else:
current = lstInput[i]
remainder = lstInput[i+1:]
for rest in yieldLotto(remainder, intCount - 1):
return_list.append([current] + rest)
return return_list

老实说,我认为 yield 更好,它是 Python 的一个重要特性。我建议学习它。

关于python - 在 Python 中替代 Yield,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23881220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com