我的问题很简单;有没有更好的方法来重复一段代码
for _ in range(N):
stuff = 10
thing = True
a_task(stuff, thing)
...
是还是要创建由N个相同类别的对象组成的列表,例如a_list = [AnObject() for _ in range(N)]
但没有丑陋的for _ in range(N)
?
类似
with repeat(50):
...
对于块情况会很好,但是我想用上下文管理器无法实现它。
还请注意,a_list = [AnObject()] * N
不是第二种情况的答案,因为它会复制引用。
在这两种情况下,对于丑陋的for _
来说,还有不错的选择吗?
答案 0 :(得分:0)
您可以创建一个带参数的装饰器,该参数指示循环数:
@loop(40)
def my_function:
pass
也就是说,列表理解语法是惯用的。另外,我不知道您为什么为此使用'_',这使它更难看,恕我直言