python - 通过重复应用函数创建列表

标签 python list

我想要这个:

[foo() for _ in xrange (100)]

但更漂亮。 ?

最佳答案

你可以像这样写一个生成器repeat:

def repeat(times, func, *args, **kwargs):
    for _ in xrange(times):
        yield func(*args, **kwargs)

然后:

list(repeat(100, foo))

它还接受传递给函数的参数,因此您可以:

from random import randint
list(repeat(100, randint, 1, 100))   # 100 random ints between 1 and 100

因为它是一个生成器,您可以将它导入任何类型的可迭代对象,无论是 list(如此处)还是 tupleset,或在理解或循环中使用它。

关于python - 通过重复应用函数创建列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6683449/

相关文章:

python - 在 python 中从头开始实现马氏距离

python - 在 Statsmodels -python 中使用 SARIMAX 预测样本外的外生变量

java - Fragment.instantiate致命异常

python - 如何替换列表中每个元素中的特定字符

python - 如何计算defaultdict(python)中元组中唯一关键元素的数量?

python - 将 select_lated 和 prefetch_lated 与许多参数一起使用

Python:如何在运行时获取实例的名称?

python - Python 'multitasking'需要

python - Kml 创建错误

c++ - 列出矩阵类的初始化