我懷疑以下代碼會返回類似的結(jié)果:import randomrandom.seed(765)x = random.choices(range(34), k=100)random.seed(765)y = [random.choice(range(34)) for _ in range(100)]但當(dāng)我們比較時>>> x[:5][1, 8, 9, 31, 29]>>> y[:5][2, 30, 15, 26, 17]顯然x不等于y.我懷疑我遺漏了一些明顯的東西,但假設(shè)種子設(shè)置的序列將返回相同的 100 個值,無論選擇與 k = 100 的選擇如何。
1 回答

不負相思意
TA貢獻1777條經(jīng)驗 獲得超10個贊
請參閱文檔:
對于給定的種子,?
choices()
?具有相同權(quán)重的函數(shù)通常會生成與重復(fù)調(diào)用不同的序列?choice()
。使用的算法?choices()
?使用浮點運算來實現(xiàn)內(nèi)部一致性和速度。默認情況下使用的算法?choice()
?采用重復(fù)選擇的整數(shù)運算,以避免舍入誤差造成的小偏差。
添加回答
舉報
0/150
提交
取消