Pythonで特定の範囲内で均等に間隔を空けた数字のリストを作成する 質問する

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()関数は整数のみを扱うことに注意してください。そしてこれ:

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

複雑すぎるようです。何かアイデアはありますか?

ベストアンサー1

numpyを使えば、リンスペース:

右端点を含める(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])

おすすめ記事