在python中,可以使用[] * n
创建大小为n的数组,甚至可以使用[0] * n
为所有项目初始化一个固定值。
是否可以执行类似的操作,但是使用500n
初始化值?
例如,创建一个大小为10的数组将导致这种情况。
[0, 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500]
我可以通过一个变量和一个for循环轻松实现此目标,如下所示,但我想一次性优化它,以传递到Robot Framework中。
arr = [0] * 10
for i, v in enumerate(arr):
arr[i] = 500 * i
答案 0 :(得分:8)
使用简单的理解:
[i*500 for i in range(n)]
答案 1 :(得分:2)
另一个答案为您提供了一种方法,这是另一个:
list(range(0, 500*n, 500))
答案 2 :(得分:1)
使用numpy数组始终是个好主意。它们具有更多功能,并且使用速度非常快(向量化形式,并且在后台快速编译了C代码)。您使用numpy的示例:
import numpy as np
nx = 10
a = 500*np.arange(nx)
a
给予:
array([ 0, 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500])