python-制作任意长度的列表的Python方法是什么,该列表包含给定范围之间的均匀间隔的数字(而不仅仅是整数)?例如:
my_func(0,5,10) # ( lower_bound , upper_bound , length ) # [ 0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5 ]
注意,该Range()函数仅处理整数。和这个:
Range()
def my_func(low,up,leng): list = [] step = (up - low) / float(leng) for i in range(leng): list.append(low) low = low + step return list
似乎太复杂了。有任何想法吗?
给定numpy,您可以使用linspace:
包括正确的端点(5):
In [46]: import numpy as np In [47]: np.linspace(0,5,10) Out[47]: array([ 0. , 0.55555556, 1.11111111, 1.66666667, 2.22222222, 2.77777778, 3.33333333, 3.88888889, 4.44444444, 5. ])
排除正确的端点:
In [48]: np.linspace(0,5,10,endpoint=False) Out[48]: array([ 0. , 0.5, 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5])