對python產(chǎn)生隨機(jī)的二維數(shù)組實(shí)例詳解
最近找遍了python的各個函數(shù)發(fā)現(xiàn)無法直接生成隨機(jī)的二維數(shù)組,其中包括random()相關(guān)的各種方法,都沒有得到想要的結(jié)果。最后在一篇博客中受到啟發(fā),通過列表解析的方法得到隨機(jī)的二維數(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)生一個隨機(jī)整數(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()中的各種方法做一個總結(jié),具體如下:
1、choice()
從序列中獲取一個隨機(jī)元素
random.choice(['a','b','c'])
結(jié)果為‘b'
2、randint()
用于生成一個指定范圍內(nèi)的整數(shù),能取到邊界的值
random.randint(1, 2)
結(jié)果為‘1'
3、random()
用于生成一個0到1的隨機(jī)符點(diǎn)數(shù): 0 <= n < 1.0
random.random()
結(jié)果為‘0.29892210378218154'
4、randrange()
從序列中獲取一個隨機(jī)數(shù)
random.randrange(10,100,2)
結(jié)果為‘68'
此時如果出現(xiàn)'module ‘numpy.random' has no attribute ‘randrange'
記得在開頭加上import random
5、sample()
從指定序列中隨機(jī)獲取指定長度的片斷,不改變原來序列順序
list2 = [i**2 for i in range(0, 10)] print(random.sample(list2, 3))
結(jié)果為‘[16, 9, 4]'
再看看list2有沒有改變
結(jié)果為‘[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)
結(jié)果為‘[5, 3, 2, 1, 4, 6]'
7、uniform()
用于生成一個指定范圍內(nèi)的隨機(jī)符點(diǎn)數(shù)
a=random.uniform(2,3)
結(jié)果為‘2.046090433068011'
以上這篇對python產(chǎn)生隨機(jī)的二維數(shù)組實(shí)例詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
在python的WEB框架Flask中使用多個配置文件的解決方法
所謂配置文件管理,就是在不改變源代碼的前提下,擁有兩套(甚至多套)配置文件,分別用于開發(fā)環(huán)境和生產(chǎn)環(huán)境,通過命令行選擇配置文件2014-04-04Python 實(shí)時獲取任務(wù)請求對應(yīng)的Nginx日志的方法
本文給大家分享Python 實(shí)時獲取任務(wù)請求對應(yīng)的Nginx日志的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-07-07Django REST framework 分頁的實(shí)現(xiàn)代碼
這篇文章主要介紹了Django REST framework 分頁的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06