如何在python中定義0到1之間的小數範圍? Python中的Range()函數只返回int值。我的代碼中有一些變量,其編號在0到1之間變化。我很困惑我如何將它放在代碼中。謝謝如何創建0到1之間的隨機小數的範圍
我會添加更多我的問題。沒有可生成小數值的步長或任何增量值。我必須使用一個可能具有從0到1的值的變量。它可以是任何值。但程序應該知道它的範圍從0到1的邊界。我希望我明確自己。謝謝
http://docs.python.org/library/random.html
如何在python中定義0到1之間的小數範圍? Python中的Range()函數只返回int值。我的代碼中有一些變量,其編號在0到1之間變化。我很困惑我如何將它放在代碼中。謝謝如何創建0到1之間的隨機小數的範圍
我會添加更多我的問題。沒有可生成小數值的步長或任何增量值。我必須使用一個可能具有從0到1的值的變量。它可以是任何值。但程序應該知道它的範圍從0到1的邊界。我希望我明確自己。謝謝
http://docs.python.org/library/random.html
如果您正在尋找隨機數的0和1之間的名單,我認爲你可能有一個很好用的random
模塊的
>>> import random
>>> [random.random() for _ in range(0, 10)]
[0.9445162222544106, 0.17063032908425135, 0.20110591438189673,
0.8392299590767177, 0.2841838551284578, 0.48562600723583027,
0.15468445000916797, 0.4314435745393854, 0.11913358976315869,
0.6793348370697525]
是的,這將工作。感謝 – zingy
它看起來像列表解析會相當有用這裏。
mylist = [x/n for x in range(n)]
這樣的事情?我的Python生鏽了。
我認爲這會奏效。謝謝 – zingy
如果你想要一個0的列表,那麼是的,它會很好地工作。整數除法ftl! – geoffspear
我認爲,在最近的Python版本中,這實際上工作正常。你不必使用// b來獲得整數除法嗎?請檢查這個,Wooble。 – Patrick87
for i in range(100):
i /= 100.0
print i
另外,請看decimal。
def float_range(start, end, increment):
int_start = int(start/increment)
int_end = int(end/increment)
for i in range(int_start, int_end):
yield i * increment
謝謝,但沒有特別的增量。它只是0和1之間的一個隨機值。 – zingy
>>> from decimal import Decimal
>>> [Decimal(x)/10 for x in xrange(11)]
[Decimal("0"), Decimal("0.1"), Decimal("0.2"), Decimal("0.3"), Decimal("0.4"), Decimal("0.5"), Decimal("0.6"), Decimal("0.7"), Decimal("0.8"), Decimal("0.9"), Decimal("1")]
編輯,鑑於馬克隨機的答案評論:
如果你真的不想要一個平穩遞增的範圍,而是0和1之間的隨機數,使用random.random()
。
@ Wooble hhmm我猜random.random()完美。謝謝 – zingy
0
之間這將輸出十進制數1
與步長0.1
import numpy as np
mylist = np.arange(0, 1, 0.1)
有用的功能!但我認爲op改變了這個問題,指定條目需要是隨機的,而arange將會構成一個有序的序列。 – navicore
你必須更具體。從0到1可以在0和無窮大之間。步驟是什麼? – Jacob
謝謝,但沒有步驟。它可以是0和1之間的任何值。我只需要一個變量,其值在0和1之間。 – zingy
@eryksun是的,我需要一個隨機範圍。我應該把這個詞隨機。 – zingy