python使用Random隨機(jī)生成列表的方法實(shí)例
引言:
閑來(lái)想到冒泡排序中的列表數(shù)據(jù)的排序,就想試試用隨機(jī)數(shù)生成一個(gè)列表來(lái)排序試試,于是做了一下實(shí)驗(yàn),本人實(shí)在是屬于入門階段,研究了一下終究還是完成了
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ù)的寫法
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)一下效果
升序的寫法:
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輸出的位置我們就可以看見比較的過(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é)果:

降序的寫法
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)行操作,正常情況我們還是這樣寫,這樣打印出來(lái)的還是會(huì)出現(xiàn)重復(fù)的數(shù):
import random print([random.randint(1,100) for i in range(10) ])
但是python太強(qiáng)大了,有專門的函數(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ī)生成大小寫字母數(shù)字混合密碼(僅20行代碼)
- Python輕松實(shí)現(xiàn)2位小數(shù)隨機(jī)生成
相關(guān)文章
python常見進(jìn)制轉(zhuǎn)換方法示例代碼
Python為我們提供了強(qiáng)大的內(nèi)置函數(shù)和格式化數(shù)字的方法去實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換的功能,下面這篇文章主要給大家介紹了關(guān)于python常見進(jìn)制轉(zhuǎn)換方法的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05
Python pytesseract驗(yàn)證碼識(shí)別庫(kù)用法解析
這篇文章主要介紹了Python pytesseract驗(yàn)證碼識(shí)別庫(kù)用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
Python?threading和Thread模塊及線程的實(shí)現(xiàn)
這篇文章主要介紹了Python?threading和Thread模塊及線程的實(shí)現(xiàn),Python通過(guò)兩個(gè)標(biāo)準(zhǔn)庫(kù)thread和threading提供對(duì)線程的支持,threading對(duì)thread進(jìn)行了封裝,具體實(shí)現(xiàn)介紹需要的朋友可以參考一下下面文章內(nèi)容2022-06-06
python遍歷迭代器自動(dòng)鏈?zhǔn)教幚頂?shù)據(jù)的實(shí)例代碼
迭代器也是用來(lái)遍歷對(duì)象成員的,下面這篇文章主要給大家介紹了關(guān)于python遍歷迭代器自動(dòng)鏈?zhǔn)教幚頂?shù)據(jù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-01-01
CPython 垃圾收集器檢測(cè)循環(huán)引用詳解
這篇文章主要為大家介紹了CPython 垃圾收集器檢測(cè)循環(huán)引用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
由Python運(yùn)算π的值深入Python中科學(xué)計(jì)算的實(shí)現(xiàn)
這篇文章主要介紹了由Python運(yùn)算π的值深入Python中科學(xué)計(jì)算的實(shí)現(xiàn),由簡(jiǎn)單的計(jì)算發(fā)散出各種算法的講解,需要的朋友可以參考下2015-04-04

