python产生5个随机数_Python和numpy生成随机数
http://blog.csdn.net/pipisorry/article/details/39086463
隨機數種子
要每次產生隨機數相同就要設置種子,相同種子數的Random對象,相同次數生成的隨機數字是完全相同的;
random.seed(1) 這樣
random.randint(
0,
6, (
4,
5))每次都產生一樣的4*5的隨機矩陣
關于種子的介紹可參見[Java - 常用函數Random函數]
Python標準庫random模塊
(生成隨機數模塊)
random.random()
random.random()用于生成一個0到1的隨機符點數: 0 <= n < 1.0
random.uniform(a, b)
random.uniform的函數原型為:random.uniform(a, b),用于生成一個指定范圍內的隨機符點數。如果a > b,則生成的隨機數n: b <= n <= a。如果 a
[python] view plain copy
printrandom.uniform(10,20)
printrandom.uniform(20,10)
#---- 結果(不同機器上的結果不一樣)
#18.7356606526
#12.5798298022
random.randint(a, b)
random.randint()的函數原型為:random.randint(a, b),用于生成一個指定范圍內的整數。其中參數a是下限,參數b是上限,生成的隨機數n: a <= n <= b
Note:a =[random.randint(0, 100) for__ inrange(100)] #生成100個指定范圍內的整數
[python] view plain copy
printrandom.randint(12,20)#生成的隨機數n: 12 <= n <= 20
printrandom.randint(20,20)#結果永遠是20
#print random.randint(20, 10) #該語句是錯誤的。下限必須小于上限。
random.randrange([start], stop[, step])
random.randrange的函數原型為:random.randrange([start], stop[, step]),從指定范圍內,按指定基數遞增的集合中 獲取一個隨機數。如:random.randrange(10, 100, 2),結果相當于從[10, 12, 14, 16, ... 96, 98]序列中獲取一個隨機數。random.randrange(10, 100, 2)在結果上與 random.choice(range(10, 100, 2) 等效。
random.choice(sequence)
random.choice從序列中獲取一個隨機元素。其函數原型為:random.choice(sequence)。參數sequence表示一個有序類型。這里要說明 一下:sequence在python不是一種特定的類型,而是泛指一系列的類型。list, tuple, 字符串都屬于sequence。有關sequence可以查看python手冊數據模型這一章,也可以參考:http://www.17xie.com/read-37422.html 。下面是使用choice的一些例子:
[python] view plain copy
printrandom.choice("學習Python")
printrandom.choice(["JGood","is","a","handsome","boy"])
printrandom.choice(("Tuple","List","Dict"))
random.shuffle(x[, random])
random.shuffle的函數原型為:random.shuffle(x[, random]),用于將一個列表中的元素打亂。如:
[python] view plain copy
p = ["Python","is","powerful","simple","and so on..."]
random.shuffle(p)
printp
#---- 結果(不同機器上的結果可能不一樣。)
#['powerful', 'simple', 'is', 'Python', 'and so on...']
random.sample(sequence, k)
random.sample的函數原型為:random.sample(sequence, k),從指定序列中隨機獲取指定長度的片斷。sample函數不會修改原有序列。
[python] view plain copy
list = [1,2,3,4,5,6,7,8,9,10]
slice = random.sample(list, 5)#從list中隨機獲取5個元素,作為一個片斷返回
printslice
Note:上面這些方法是random模塊中最常用的,在Python手冊中,還介紹其他的方法。感興趣的朋友可以通過查詢Python手冊了解更詳細的信息。
皮皮blog
numpy中的random模塊
linspace(start, end, num): 如linspace(0,1,11)結果為[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1];
arange(n): 產生一個從0到n-1的向量,如arange(4)結果為[0,1,2,3]
random.random([...]): 產生隨機矩陣,如random.random([2,3])產生一個2x3維的隨機數
Simple random data
rand(d0, d1, ..., dn) Random values in a given shape.
randn(d0, d1, ..., dn) Return a sample (or samples) from the “standard normal” distribution.
randint(low[, high, size]) Return random integers from low (inclusive) to high (exclusive).
random_integers(low[, high, size]) Return random integers between low and high, inclusive.
random_sample([size]) Return random floats in the half-open interval [0.0, 1.0).
random([size]) Return random floats in the half-open interval [0.0, 1.0).
ranf([size]) Return random floats in the half-open interval [0.0, 1.0).
sample([size]) Return random floats in the half-open interval [0.0, 1.0).
choice(a[, size, replace, p]) Generates a random sample from a given 1-D array ..
bytes(length) Return random bytes.
np.random.rand(a, b)
fromnumpy importrandom
x =random.rand(2, 3)
print(x)
[[ 0.1169922 0.08614147 0.17997144]
[ 0.5694889 0.43067372 0.62135592]]
x, y =random.rand(2, 3)
print(x)
print(y)
[ 0.60527337 0.78765269 0.71884661]
[ 0.67420571 0.946359 0.7632273 ] [
numpy - 基本數據類型、多維數組ndarray及函數操作]
np.random.randint(a, b, size=(c, d))
raw_user_item_mat =random.randint(0, 10, size=(3,4)) #指定生成隨機數范圍和生成的多維數組大小
print(raw_user_item_mat)
[[3 6 2 8]
[3 1 2 4]
[9 4 5 0]] [ Random sampling (
numpy.random)]
from: http://blog.csdn.net/pipisorry/article/details/39086463
ref: The Python Standard Library
http://blog.csdn.net/jgood/article/details/4278885
Numpy中使用矩陣-特殊的函數
python標準庫中的隨機分布函數
總結
以上是生活随笔為你收集整理的python产生5个随机数_Python和numpy生成随机数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 泊头市泊乐广场怎么样
- 下一篇: python 网络通讯 plc_PLC与