小编mej*_*iwa的帖子

Python 3:在范围(N)列表理解中创建[func(i)for i的最有效方法

假设我有一个函数func(i)为一个整数i创建一个对象,N是一个非负整数.那么创建等于此列表的列表(不是范围)的最快方法是什么

mylist = [func(i) for i in range(N)]
Run Code Online (Sandbox Code Playgroud)

不采用像在C中创建函数的高级方法?我对上面列表理解的主要关注是,我不确定python是否事先知道预分配mylist的范围(N)的长度,因此必须逐步重新分配列表.是这样的情况还是python足够聪明,首先将mylist分配给长度N然后计算它的元素?如果没有,创建mylist的最佳方法是什么?也许这个?

mylist = [None]*N
for i in range(N): mylist[i] = func(i)
Run Code Online (Sandbox Code Playgroud)

重新编辑:从以前的编辑中删除了误导性信息.

python list-comprehension

7
推荐指数
1
解决办法
1442
查看次数

标签 统计

list-comprehension ×1

python ×1