python 使用 random模組生成隨機測試資料

上海-悠悠發表於2024-07-23

前言

python中可以使用 random 模組生成隨機測試資料

常用函式 說明
random.seed(a) 設定初始化隨機種子,可輸出相同隨機數序列;a取整數或浮點數,不設定時預設以系統時間為種子
random.random() 生成一個0.0到1.0之間的隨機浮點數
random.uniform(a,b) 生成一個[a,b]之間的隨機小數,a,b取整數或浮點數
random.randint(a,b) 生成一個[a,b]之間的隨機整數
random.randrange(start,stop[,step]) 生成一個[start,stop)之間以step為步數的隨機整數;start,stop,step都是整數,step不設定預設為1
random.getrandbits(k)(seq) 生成一個佔記憶體k位以內的隨機整數;k取長度的整數值 如果設定k=2,那麼可取的數就在 (0,1,2,3) 之間隨機取
random.choice(seq) 從序列型別seq中隨機返回一個元素;seq是序列型別,如:字串、列表、元組、集合等
random.shuffle(seq) 將序列型別中元素隨機排序,返回打亂後的序列,seq被改變(改變原列表);seq是序列型別,如:字串、列表、元組等
random.sample(pop,k) 從pop中選取k個元素,以列表型別返回(不改變原列表);pop是序列型別,k是整數表示取k個數

random.random() 隨機浮點數

random.random()函式返回一個範圍在[0.0, 1.0)之間的隨機浮點數。這是生成均勻分佈隨機數的基礎函式。

import random

random_number = random.random()
print("隨機浮點數:", random_number)

執行結果:隨機浮點數: 0.4375844524602265

random.randint(a, b) 隨機整數

random.randint(a, b)函式生成一個範圍在[a, b]之間的隨機整數。這在需要生成整數隨機數時非常有用。

import random

random_integer = random.randint(1, 10)
print("隨機整數:", random_integer)

random.choice(seq) 隨機選一個

random.choice(seq)函式從序列seq中隨機選擇一個元素返回。適用於從列表、字串、元組等序列中隨機挑選元素的場景。

import random

my_list = [1, 2, 3, 4, 5]
random_element = random.choice(my_list)
print("隨機選擇的元素:", random_element)

my_str = "hello world"
print("隨機選擇的元素:", random.choice(my_str))

my_tup = ("aa", "bb", "cc")
print("隨機選擇的元素:", random.choice(my_tup ))

random.shuffle(x) 洗牌列表

random.shuffle(x)函式用於將序列x中的元素隨機排列,打亂原有順序。

import random

my_list = [1, 2, 3, 4, 5]
random.shuffle(my_list)
print("打亂後的列表:", my_list)

random.sample(population, k) 選樣本

random.sample(population, k)函式從總體population中隨機選擇k個不重複的元素。適用於需要獲取不重複樣本的情況。

import random

my_list = [1, 2, 3, 4, 5]
sampled_list = random.sample(my_list, 3)
print("隨機抽樣後的列表:", sampled_list)

執行結果隨機抽樣後的列表: [4, 3, 5]

random.uniform(a, b) 隨機浮點數

random.uniform(a, b)函式生成一個範圍在[a, b]之間的隨機浮點數,類似於random.random()但可以指定範圍。

import random

random_float = random.uniform(1.0, 5.0)
print("指定範圍的隨機浮點數:", random_float)

這只是random模組中一小部分函式的介紹,該模組還包括其他函式,如random.gauss()用於生成高斯分佈的隨機數。透過靈活使用這些函式,可以滿足各種隨機數生成的需求。在實際應用中,深入瞭解這些函式的特性和用法,可以幫助提高程式的隨機數生成效率和準確性。

random.seed(a=None, version=2) 隨機種子

random.seed(a=None, version=2)函式用於初始化偽隨機數生成器的種子。透過設定相同的種子,可以確保在不同的執行中獲得相同的隨機數序列,這對於除錯和重現實驗結果非常有用。

import random

random.seed(42)  # 設定隨機數生成器的種子為42
random_number = random.random()
print("固定種子下的隨機浮點數:", random_number)

相關文章