亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python使用Random隨機生成列表的方法實例

 更新時間:2022年04月19日 08:58:15   作者:王大興的王興  
在日常的生活工作和系統(tǒng)游戲等設計和制作時,經(jīng)常會碰到產(chǎn)生隨機數(shù),用來解決問題,下面這篇文章主要給大家介紹了關于python使用Random隨機生成列表的相關資料,需要的朋友可以參考下

引言:

閑來想到冒泡排序中的列表數(shù)據(jù)的排序,就想試試用隨機數(shù)生成一個列表來排序試試,于是做了一下實驗,本人實在是屬于入門階段,研究了一下終究還是完成了

1.在python中用random生成一個列表。

(0,1000)指列表中的數(shù)取值范圍0~1000之間,list列表數(shù)的lenth=10。

import random
list=[random.randint(0,1000)for i in range(10)]
print(list)

輸出結(jié)果如圖:

但是這種方法取值是可以重復的,

import random
list=[random.randint(0,10)for i in range(10)]
print(list)

2.翻了一些資料找到了取值不重復的寫法

range(10)是取值范圍,后面的值是lenth長度

import random
list=random.sample([i for i in range(0,10)],10)
print(list)

輸出如下:

![在這里插入圖片描述](https://img-blog.csdnimg.cn/20210121165739404.png

3.下面用冒泡排序來實驗一下效果

升序的寫法:

import random#導入隨機數(shù)的包
list=random.sample([i for i in range(0,10)],10)#確定隨機取值的范圍和列表l的長度
print(list)
#獲取列表的長度
n=len(list)
#冒泡排序
#外循環(huán)每次循環(huán)就會兩兩比較選出最大的數(shù)放在右邊,所以是實際比較的個數(shù)是n-1(比如1,2,3)三個數(shù)比較只會比較2次,外循環(huán)控制循環(huán)多少趟
for x in range(0,n-1):
    # 內(nèi)循環(huán)控制每趟循環(huán)的次數(shù),每趟循環(huán)就會兩兩比較選出最大的數(shù)放在右邊,選出的數(shù)(x)不計入次數(shù),且每次比較都會(n-1次),所以是長度n-x-1
    for y in range(0,n-1-x):
        #如果左邊的數(shù)大于右邊的數(shù)就會交換位置,用到賦值交換
        if list[y]>list[y+1]:
            be=list[y]
            list[y]=list[y+1]
            list[y+1]=be
print(list)

輸出結(jié)果:

下面我換換print輸出的位置我們就可以看見比較的過程

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#導入隨機數(shù)的包
list=random.sample([i for i in range(0,10)],10)#確定隨機取值的范圍和列表l的長度
print(list)
#獲取列表的長度
n=len(list)
#冒泡排序
#外循環(huán)每次循環(huán)就會兩兩比較選出最大的數(shù)放在右邊,所以是實際比較的個數(shù)是n-1(比如1,2,3)三個數(shù)比較只會比較2次
for x in range(0,n-1):
    # 內(nèi)循環(huán)控制每趟循環(huán)的次數(shù),每趟循環(huán)就會兩兩比較選出最大的數(shù)放在右邊,選出的數(shù)(x)不計入次數(shù),且每次比較都會(n-1次),所以是長度n-x-1
    for y in range(0,n-1-x):
        #如果左邊的數(shù)大于右邊的數(shù)就會交換位置,用到賦值交換
        if list[y]<list[y+1]:
            be=list[y]
            list[y]=list[y+1]
            list[y+1]=be
print(list)

輸出結(jié)果:

附:一行代碼實現(xiàn)生成一個隨機列表

主要用隨機數(shù)模塊和推導式:

import random
exit([random.randint(1,100) for i in range(10) ])

事實上,exit是拋出異常然后退出,后面無法對列表進行操作,正常情況我們還是這樣寫,這樣打印出來的還是會出現(xiàn)重復的數(shù):

 import random
 print([random.randint(1,100) for i in range(10) ])

但是python太強大了,有專門的函數(shù)生成這種列表,還不帶重復的:

import random
print(random.sample(range(1,100),10))

總結(jié)

到此這篇關于python使用Random隨機生成列表的文章就介紹到這了,更多相關python Random隨機生成列表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論