考虑一个假设函数
我记得在Python 2.x标准库中有一个名为
注:我知道自己编写一个函数很简单,但我不想重复造轮子,尤其是已经有现成的函数在标准库中。我不是在问如何编写
编辑:更加明确地表明我并不是在询问如何编写
repeatcall
,它以no-args可调用对象func
和正整数n
作为参数,并返回一个列表,其中的成员是通过执行func()
n
次获得的。它支持无限多个傻瓜式把戏,比如:>>> repeatcall(lambda: id(dict()), 5)
[45789920, 45788064, 45807216, 45634816, 45798640]
>>> urandom = lambda: struct.unpack('Q', open('/dev/urandom').read(8))[0]
>>> repeatcall(urandom, 3)
[3199039843823449742, 14990726001693341311L, 11583468019313082272L]
>>> class Counter(itertools.count): __call__ = itertools.count.next
>>> repeatcall(Counter(100, -2), 4)
[100, 98, 96, 94]
我记得在Python 2.x标准库中有一个名为
repeatcall
的函数,但我找不到它。如果这不是我的幻觉,那么请问在标准库中的哪里可以找到它?注:我知道自己编写一个函数很简单,但我不想重复造轮子,尤其是已经有现成的函数在标准库中。我不是在问如何编写
repeatcall
函数。编辑:更加明确地表明我并不是在询问如何编写
repeatcall
函数。