python使用Random隨機(jī)生成列表的方法實(shí)例
引言:
閑來(lái)想到冒泡排序中的列表數(shù)據(jù)的排序,就想試試用隨機(jī)數(shù)生成一個(gè)列表來(lái)排序試試,于是做了一下實(shí)驗(yàn),本人實(shí)在是屬于入門(mén)階段,研究了一下終究還是完成了
1.在python中用random生成一個(gè)列表。
(0,1000)指列表中的數(shù)取值范圍0~1000之間,list列表數(shù)的lenth=10。
import random list=[random.randint(0,1000)for i in range(10)] print(list)
輸出結(jié)果如圖:
但是這種方法取值是可以重復(fù)的,
import random list=[random.randint(0,10)for i in range(10)] print(list)
2.翻了一些資料找到了取值不重復(fù)的寫(xiě)法
range(10)是取值范圍,后面的值是lenth長(zhǎng)度
import random list=random.sample([i for i in range(0,10)],10) print(list)
輸出如下:
3.下面用冒泡排序來(lái)實(shí)驗(yàn)一下效果
升序的寫(xiě)法:
import random#導(dǎo)入隨機(jī)數(shù)的包 list=random.sample([i for i in range(0,10)],10)#確定隨機(jī)取值的范圍和列表l的長(zhǎng)度 print(list) #獲取列表的長(zhǎng)度 n=len(list) #冒泡排序 #外循環(huán)每次循環(huán)就會(huì)兩兩比較選出最大的數(shù)放在右邊,所以是實(shí)際比較的個(gè)數(shù)是n-1(比如1,2,3)三個(gè)數(shù)比較只會(huì)比較2次,外循環(huán)控制循環(huán)多少趟 for x in range(0,n-1): # 內(nèi)循環(huán)控制每趟循環(huán)的次數(shù),每趟循環(huán)就會(huì)兩兩比較選出最大的數(shù)放在右邊,選出的數(shù)(x)不計(jì)入次數(shù),且每次比較都會(huì)(n-1次),所以是長(zhǎng)度n-x-1 for y in range(0,n-1-x): #如果左邊的數(shù)大于右邊的數(shù)就會(huì)交換位置,用到賦值交換 if list[y]>list[y+1]: be=list[y] list[y]=list[y+1] list[y+1]=be print(list)
輸出結(jié)果:
下面我換換print輸出的位置我們就可以看見(jiàn)比較的過(guò)程
import random list=random.sample([i for i in range(0,10)],10) print(list) n=len(list) for x in range(0,n-1): for y in range(0,n-1-x): if list[y]>list[y+1]: be=list[y] list[y]=list[y+1] list[y+1]=be print(list)
輸出結(jié)果:
降序的寫(xiě)法
import random#導(dǎo)入隨機(jī)數(shù)的包 list=random.sample([i for i in range(0,10)],10)#確定隨機(jī)取值的范圍和列表l的長(zhǎng)度 print(list) #獲取列表的長(zhǎng)度 n=len(list) #冒泡排序 #外循環(huán)每次循環(huán)就會(huì)兩兩比較選出最大的數(shù)放在右邊,所以是實(shí)際比較的個(gè)數(shù)是n-1(比如1,2,3)三個(gè)數(shù)比較只會(huì)比較2次 for x in range(0,n-1): # 內(nèi)循環(huán)控制每趟循環(huán)的次數(shù),每趟循環(huán)就會(huì)兩兩比較選出最大的數(shù)放在右邊,選出的數(shù)(x)不計(jì)入次數(shù),且每次比較都會(huì)(n-1次),所以是長(zhǎng)度n-x-1 for y in range(0,n-1-x): #如果左邊的數(shù)大于右邊的數(shù)就會(huì)交換位置,用到賦值交換 if list[y]<list[y+1]: be=list[y] list[y]=list[y+1] list[y+1]=be print(list)
輸出結(jié)果:
附:一行代碼實(shí)現(xiàn)生成一個(gè)隨機(jī)列表
主要用隨機(jī)數(shù)模塊和推導(dǎo)式:
import random exit([random.randint(1,100) for i in range(10) ])
事實(shí)上,exit是拋出異常然后退出,后面無(wú)法對(duì)列表進(jìn)行操作,正常情況我們還是這樣寫(xiě),這樣打印出來(lái)的還是會(huì)出現(xiàn)重復(fù)的數(shù):
import random print([random.randint(1,100) for i in range(10) ])
但是python太強(qiáng)大了,有專(zhuān)門(mén)的函數(shù)生成這種列表,還不帶重復(fù)的:
import random print(random.sample(range(1,100),10))
總結(jié)
到此這篇關(guān)于python使用Random隨機(jī)生成列表的文章就介紹到這了,更多相關(guān)python Random隨機(jī)生成列表內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python3 requests中使用ip代理池隨機(jī)生成ip的實(shí)例
- python 在指定范圍內(nèi)隨機(jī)生成不重復(fù)的n個(gè)數(shù)實(shí)例
- Python隨機(jī)生成一個(gè)6位的驗(yàn)證碼代碼分享
- 利用python3隨機(jī)生成中文字符的實(shí)現(xiàn)方法
- Python隨機(jī)生成身份證號(hào)碼及校驗(yàn)功能
- Python隨機(jī)生成手機(jī)號(hào)、數(shù)字的方法詳解
- python 隨機(jī)生成10位數(shù)密碼的實(shí)現(xiàn)代碼
- Python實(shí)現(xiàn)隨機(jī)生成有效手機(jī)號(hào)碼及身份證功能示例
- python隨機(jī)生成大小寫(xiě)字母數(shù)字混合密碼(僅20行代碼)
- Python輕松實(shí)現(xiàn)2位小數(shù)隨機(jī)生成
相關(guān)文章
Opencv 圖片的OCR識(shí)別的實(shí)戰(zhàn)示例
這篇文章主要介紹了Opencv 圖片的OCR識(shí)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03TensorFlow實(shí)現(xiàn)Softmax回歸模型
這篇文章主要介紹了TensorFlow實(shí)現(xiàn)Softmax回歸模型,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03在Python中使用cookielib和urllib2配合PyQuery抓取網(wǎng)頁(yè)信息
這篇文章主要介紹了在Python中使用cookielib和rllib2配合PyQuery抓取網(wǎng)頁(yè)信息的教程,主要是利用PyQuery解析HTML來(lái)實(shí)現(xiàn),需要的朋友可以參考下2015-04-04Python中多進(jìn)程處理的Process和Pool的用法詳解
在Python編程中,多進(jìn)程是一種強(qiáng)大的并行處理技術(shù),Python提供了兩種主要的多進(jìn)程處理方式:Process和Pool,本文將詳細(xì)介紹這兩種方式的使用,希望對(duì)大家有所幫助2024-02-02python數(shù)據(jù)分析之如何刪除value=0的行
這篇文章主要給大家介紹了關(guān)于python數(shù)據(jù)分析之如何刪除value=0的行的相關(guān)資料,文中通過(guò)實(shí)例代碼以及圖文介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-12-12python 基本數(shù)據(jù)類(lèi)型占用內(nèi)存空間大小的實(shí)例
今天小編就為大家分享一篇python 基本數(shù)據(jù)類(lèi)型占用內(nèi)存空間大小的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06