如何利用Python隨機從list中挑選一個元素_第1頁
如何利用Python隨機從list中挑選一個元素_第2頁
如何利用Python隨機從list中挑選一個元素_第3頁
如何利用Python隨機從list中挑選一個元素_第4頁
如何利用Python隨機從list中挑選一個元素_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第如何利用Python隨機從list中挑選一個元素目錄1.引言2.舉個栗子3.使用Random庫3.1隨機下標(biāo)3.2隨機選擇單個元素3.3隨機選擇多個元素4.使用Secrets庫4.1隨機下標(biāo)4.2隨機選擇單個元素4.3隨機選擇多個元素5.總結(jié)

1.引言

在本文中,我們將研究從列表中選擇隨機元素的不同實現(xiàn)方法。在日常項目中,我們經(jīng)常會遇到這種情形,比如隨機從多種數(shù)據(jù)增強策略中選擇一種或幾種來提升訓(xùn)練數(shù)據(jù)的多樣性。

2.舉個栗子

為了方便示例,這里我們假設(shè)有一個包含多個水果英文名的列表,并且我們需要從中選擇一種隨機水果進行輸出。

水果名稱列表如下所示:

fruit_name_list=[

'apple',

'orange',

'banana',

'pear',

'watermelon'

]

3.使用Random庫

random庫是一個python的內(nèi)置庫,因此我們不需要重新安裝它,可以方便地直接導(dǎo)入。這里我們將研究使用該庫從列表中選擇隨機元素的3種不同方法。

3.1隨機下標(biāo)

函數(shù)??random.randrange(num_items)??用于返回介于區(qū)間0到??num_items-1??之間的一個隨機數(shù),如果我們得到一個列表的隨機下標(biāo),進而我們就可以方便的得到該列表中的一個隨機元素。

樣例代碼如下:

importrandom

num_items=len(fruit_name_list)

random_index=random.randrange(num_items)

winner=fruit_name_list[random_index]

print(winner)

輸出如下:

orange

3.2隨機選擇單個元素

函數(shù)??random.choice??將列表作為輸入?yún)?shù),并從列表中返回一個隨機元素。在上述的例子中,我們可以直接傳遞列表??fruit_name_list??作為該函數(shù)的參數(shù)。

樣例代碼如下:

winner=random.choice(fruit_name_list)

print(winner)

輸出如下:

watermelon

3.3隨機選擇多個元素

函數(shù)??random.sample??功能類似于函數(shù)??random.choice??,主要區(qū)別在于我們可以指定所需的隨機元素的數(shù)量。在下面的代碼樣例中,我們可以得到兩個隨機的水果英文名字。??random.sample??返回值為一個列表。

樣例代碼如下:

winners=random.sample(fruit_name_list,2)

print(winners)

輸出如下:

[banana,watermelon]

4.使用Secrets庫

??Secrets??庫優(yōu)于Random庫,因為它更安全。與random庫一樣,它也是一個內(nèi)置的python庫,我們不必安裝任何其他依賴項。但是,如果我們使用的是低于3.6的Python版本,則必須使用pip安裝該模塊。

4.1隨機下標(biāo)

函數(shù)??secrets.randbelow??的功能類似于??random.randrange??。使用該函數(shù)我們可以得到一個介于0和??num_items-1??之間的隨機索引,進而使用該索引來方便地訪問我們的水果英文名列表中的元素。

樣例代碼如下:

importsecrets

num_items=len(fruit_name_list)

random_index=secrets.randbelow(num_items)

winner=fruit_name_list[random_index]

print(winner)

輸出如下:

watermelon

4.2隨機選擇單個元素

函數(shù)??secrets.choice??功能類似于函數(shù)??random.choice??,該函數(shù)將列表作為輸入?yún)?shù),并從該列表中返回一個隨機元素。

樣例代碼如下:

winner=secrets.choice(fruit_name_list)

print(winner)

輸出如下:

apple

4.3隨機選擇多個元素

函數(shù)??secrets.SystemRandom().sample()??功能類似于??random.sample()??,該函數(shù)接受輸入列表和返回元素個數(shù)作為輸入?yún)?shù),同時該函數(shù)返回一個挑選出的隨機元素的列表。

樣例代碼如下:

winners=secrets.SystemRandom().sample(fruit_name_list,2)

print(winners)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論