新聞中心
sample()函數(shù)用于從序列(如列表、元組或字符串)中隨機抽取指定數(shù)量的元素。它接受兩個參數(shù):一個是要從中抽取元素的序列,另一個是要抽取的元素數(shù)量。返回值是一個包含抽取元素的新列表。Python中的sample函數(shù)是一個用于從序列中隨機抽取指定數(shù)量元素的函數(shù),它屬于random模塊,因此在使用之前需要先導(dǎo)入random模塊,sample函數(shù)的基本語法如下:

創(chuàng)新互聯(lián)建站一直秉承“誠信做人,踏實做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個客戶多一個朋友!為您提供網(wǎng)站設(shè)計制作、網(wǎng)站建設(shè)、成都網(wǎng)頁設(shè)計、重慶小程序開發(fā)、成都網(wǎng)站開發(fā)、成都網(wǎng)站制作、成都軟件開發(fā)、APP應(yīng)用開發(fā)是成都本地專業(yè)的網(wǎng)站建設(shè)和網(wǎng)站設(shè)計公司,等你一起來見證!
random.sample(sequence, k)
sequence表示要從中抽取元素的序列,k表示要抽取的元素數(shù)量,sample函數(shù)會返回一個新的列表,包含從序列中隨機抽取的k個元素,如果k大于序列的長度,sample函數(shù)會拋出一個ValueError異常。
下面詳細介紹一下sample函數(shù)的用法:
1、從列表中隨機抽取元素
import random my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] result = random.sample(my_list, 3) print(result)
輸出結(jié)果可能是:[2, 5, 9],每次運行結(jié)果可能不同,因為是從列表中隨機抽取的。
2、從字符串中隨機抽取字符
import random my_str = "hello world" result = random.sample(my_str, 5) print(result)
輸出結(jié)果可能是:[‘h’, ‘e’, ‘ ‘, ‘o’, ‘r’],每次運行結(jié)果可能不同,因為是從字符串中隨機抽取的。
3、從元組中隨機抽取元素
import random my_tuple = (1, 2, 3, 4, 5) result = random.sample(my_tuple, 2) print(result)
輸出結(jié)果可能是:[1, 4],每次運行結(jié)果可能不同,因為是從元組中隨機抽取的,需要注意的是,元組是不可變的,因此在抽取元素后,原元組不會發(fā)生變化。
4、從集合中隨機抽取元素
import random
my_set = {1, 2, 3, 4, 5}
result = random.sample(my_set, 3)
print(result)
輸出結(jié)果可能是:[2, 4, 5],每次運行結(jié)果可能不同,因為是從集合中隨機抽取的,需要注意的是,集合是無序的,因此在抽取元素后,原集合的順序可能會發(fā)生變化。
與本文相關(guān)的問題與解答:
問題1:sample函數(shù)是否可以從一個空序列中抽取元素?
答:不可以,如果嘗試從一個空序列中抽取元素,sample函數(shù)會拋出一個ValueError異常。random.sample([], 1)會拋出異常。
問題2:sample函數(shù)是否可以從一個無限序列中抽取元素?
答:不可以,如果嘗試從一個無限序列中抽取元素,sample函數(shù)會拋出一個ValueError異常。random.sample(range(1), 100)會拋出異常,因為range(1)是一個無限序列,無法從中抽取有限數(shù)量的元素。
問題3:sample函數(shù)是否可以重復(fù)抽取同一個元素?
答:可以,sample函數(shù)在抽取元素時不會排除已經(jīng)抽取過的元素,因此有可能重復(fù)抽取同一個元素。random.sample([1, 2, 3], 3)有可能出現(xiàn)結(jié)果為[1, 1, 2]的情況。
文章標(biāo)題:python中sample函數(shù)的用法
當(dāng)前鏈接:http://m.fisionsoft.com.cn/article/cddojsh.html


咨詢
建站咨詢
