用于在列表中创建给定数量元素的Python习惯用法

Tom*_*tie 2 python

通常当我使用Python时,我会发现自己编写的列表推导看起来像这样:

num_foobars = 10
foobars = [create_foobar() for idx in xrange(num_foobars)]
Run Code Online (Sandbox Code Playgroud)

显然这样做很好,但是当我实际上根本没有使用那些信息时,我仍然觉得创建一个范围并在其上迭代虚拟索引有点尴尬.

我并不以任何方式关注性能或类似的东西,它只是感觉不像Python通常那么优雅.

我想知道是否有任何好的惯用方法来避免列表理解语法的不必要的部分,也许使用类似的map东西itertools,给我看起来更像的代码......

num_foobars = 10
foobars = repeat(create_foobar, num_foobars)
Run Code Online (Sandbox Code Playgroud)

Ray*_*ger 6

这是itertools方式:

list(starmap(create_foobar, repeat((), 10)))
Run Code Online (Sandbox Code Playgroud)

itertools方式简短而快速.那就是说,我更喜欢列表理解:-)