2017-05-02 29 views
-2

所以我得到了一個600像素的屏幕。從0到300降列表必須包含從10 ** 6號碼1。我就是這麼做的:創建降序數字列表從10 ** 6到10 ** - 5在Python中

number = 10**6 
numlist = [number] 
for i in range(1, 299): 
    number -= 10**6/299 
    numlist.insert(i, number) 
number = 1 
numlist.insert(300,number) 

在接下來的300個像素應該血統從1到10 ** - 5。 無法找出製作此清單的正確方法

+2

什麼象素都具有清單呢? –

+1

目前還不清楚你想要完成什麼 –

+0

它的y軸從10^6到10^-5。我需要在屏幕上輸出對象的y座標 –

回答

1

由於無論如何您都需要漂浮物,因此您可以使用numpy.linspace。你只需要指定的第一個元素,最後一個和多少元素應該是數組中:

import numpy as np 
print(np.linspace(10**6, 1, num=300)) 
print(np.linspace(1, 10**-5, num=300)) 

而且,由於你與指數的工作,你可能需要一個指數分佈:

print(10**np.linspace(6, -5, num=601)) 

它輸出:

[ 1.00000000e+06 9.58664547e+05 9.19037713e+05 8.81048873e+05 
    8.44630319e+05 8.09717142e+05 7.76247117e+05 7.44160590e+05 
    7.13400375e+05 6.83911647e+05 6.55641849e+05 6.28540596e+05 
    ... 
    1.40173742e-05 1.34379597e-05 1.28824955e-05 1.23499917e-05 
    1.18394992e-05 1.13501082e-05 1.08809463e-05 1.04311774e-05 
    1.00000000e-05]