如何利用Python隨機從list中挑選一個元素
1. 引言
在本文中,我們將研究從列表中選擇隨機元素的不同實現(xiàn)方法。在日常項目中,我們經常會遇到這種情形,比如隨機從多種數(shù)據增強策略中選擇一種或幾種來提升訓練數(shù)據的多樣性。
2. 舉個栗子
為了方便示例,這里我們假設有一個包含多個水果英文名的列表,并且我們需要從中選擇一種隨機水果進行輸出。
水果名稱列表如下所示:
fruit_name_list = [ 'apple', 'orange', 'banana', 'pear', 'watermelon' ]
3. 使用Random庫
random 庫是一個 python的內置庫,因此我們不需要重新安裝它,可以方便地直接導入。這里我們將研究使用該庫從列表中選擇隨機元素的 3 種不同方法。
3.1 隨機下標
函數(shù)??random.randrange(num_items)?
?用于返回介于區(qū)間0到??num_items-1?
?之間的一個隨機數(shù),如果我們得到一個列表的隨機下標,進而我們就可以方便的得到該列表中的一個隨機元素。
樣例代碼如下:
import random 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?
? 將列表作為輸入參數(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 庫一樣,它也是一個內置的 python 庫,我們不必安裝任何其他依賴項。但是,如果我們使用的是低于3.6 的Python版本,則必須使用pip安裝該模塊。
4.1 隨機下標
函數(shù)??secrets.randbelow?
?的功能類似于??random.randrange?
?。使用該函數(shù)我們可以得到一個介于 0 和 ??num_items - 1?
? 之間的隨機索引,進而使用該索引來方便地訪問我們的水果英文名列表中的元素。
樣例代碼如下:
import secrets 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ù)將列表作為輸入參數(shù),并從該列表中返回一個隨機元素。
樣例代碼如下:
winner = secrets.choice(fruit_name_list) print(winner)
輸出如下:
apple
4.3 隨機選擇多個元素
函數(shù)??secrets.SystemRandom().sample()?
?功能類似于 ??random.sample()?
?,該函數(shù)接受輸入列表和返回元素個數(shù)作為輸入參數(shù),同時該函數(shù)返回一個挑選出的隨機元素的列表。
樣例代碼如下:
winners = secrets.SystemRandom().sample(fruit_name_list,2) print(winners)
輸出如下:
['watermelon', 'orange']
5. 總結
本文介紹了分別使用Random庫以及使用Secrets庫來從列表中隨機挑選一個或多個元素的不同實現(xiàn)方法,并均給出了代碼示例。
到此這篇關于如何利用Python隨機從list中挑選一個元素的文章就介紹到這了,更多相關 Python從list中挑選元素內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Pytorch數(shù)據讀取之Dataset和DataLoader知識總結
Dataset和DataLoader都是Pytorch里面讀取數(shù)據的工具.現(xiàn)在對這兩種工具做一個概括和總結,對正在學習Pytorch的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05使用python把xmind轉換成excel測試用例的實現(xiàn)代碼
這篇文章主要介紹了使用python把xmind轉換成excel測試用例的實現(xiàn)代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10python創(chuàng)建Flask Talisman應用程序的步驟詳解
Flask是一個功能強大的Web框架,主要用于使用Python語言開發(fā)有趣的Web應用程序,Talisman基本上是一個Flask擴展,用于添加HTTP安全標頭我們的Flask應用程序易于實施,本文就給大家講講帶Talisman的Flask安全性,需要的朋友可以參考下2023-09-09django authenticate用戶身份認證的項目實踐
Django的contrib.auth模塊中的authenticate()函數(shù)用于對用戶的憑據進行身份驗證,本文就來介紹一下django authenticate用戶身份認證的使用,具有一定的參考價值,感興趣的可以了解一下2023-08-08