溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

對python產(chǎn)生隨機的二維數(shù)組實例詳解

發(fā)布時間:2020-10-16 18:02:55 來源:腳本之家 閱讀:332 作者:杰醬 欄目:開發(fā)技術

最近找遍了python的各個函數(shù)發(fā)現(xiàn)無法直接生成隨機的二維數(shù)組,其中包括random()相關的各種方法,都沒有得到想要的結果。最后在一篇博客中受到啟發(fā),通過列表解析的方法得到隨機的二維數(shù)組。

具體如下:

a = [[random.randint(1, 4) for j in range(1, 3)] for i in range(1, 11)]
print(array(a))

其中random.randint(1, 4)用來產(chǎn)生一個隨機整數(shù)。此時創(chuàng)建了一個10行2列的數(shù)組。

[[1 3] 
[1 2] 
[3 1] 
[1 2] 
[1 2] 
[3 3] 
[3 1] 
[1 3] 
[1 2] 
[3 3]]

然后對random()中的各種方法做一個總結,具體如下:

1、choice()

從序列中獲取一個隨機元素

random.choice(['a','b','c'])

結果為‘b'

2、randint()

用于生成一個指定范圍內(nèi)的整數(shù),能取到邊界的值

random.randint(1, 2)

結果為‘1'

3、random()

用于生成一個0到1的隨機符點數(shù): 0 <= n < 1.0

random.random()

結果為‘0.29892210378218154'

4、randrange()

從序列中獲取一個隨機數(shù)

random.randrange(10,100,2)

結果為‘68'

此時如果出現(xiàn)'module ‘numpy.random' has no attribute ‘randrange'

記得在開頭加上import random

5、sample()

從指定序列中隨機獲取指定長度的片斷,不改變原來序列順序

list2 = [i**2 for i in range(0, 10)]
print(random.sample(list2, 3))

結果為‘[16, 9, 4]'

再看看list2有沒有改變

結果為‘[0, 1, 4, 9, 16, 25, 36, 49, 64, 81] '

沒有改變,所以sample函數(shù)不會修改原有序列

6、shuffle()

將一個列表中的元素打亂

list1 = [1,2,3,4,5,6]
random.shuffle(list1)
print(list1)

結果為‘[5, 3, 2, 1, 4, 6]'

7、uniform()

用于生成一個指定范圍內(nèi)的隨機符點數(shù)

a=random.uniform(2,3)

結果為‘2.046090433068011'

以上這篇對python產(chǎn)生隨機的二維數(shù)組實例詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI