Python3內建模組之玩出花兒的random隨機方法小結

farsun發表於2021-09-09

概述

random是Python中與隨機數相關的模組,其本質就是一個偽隨機數生成器,我們可以利用random模組基礎生成各種不同的隨機數,以及一些基於隨機數的操作。

生成隨機數相關

生成0~1之間的浮點數

import random
r = random.random()
print(r)
r = random.random()
print(r)

示例結果:

0.9928249533693085
0.474901555446297

生成指定範圍內的浮點數

import random
r = random.uniform(1, 100)
print(r)
r = random.uniform(100, 1)
print(r)

示例結果:

69.0347778479432
3.2085981780335118

即隨機範圍兩端可以隨意放置範圍,無須左邊小右邊大。

生成指定範圍內的整數

import random
r = random.randint(1, 100)
print(r)

示例結果:

58

randrange生成隨機整數

利用randrange生成遞增序列然後從序列中隨機返回一個整數

import random
# 0 - 100 隨機序列
r = random.randrange(101)
print(r)
# 10 - 100 隨機序列
r = random.randrange(10, 101)
print(r)
# 10 - 100 並且步進(間隔)為3 的 隨機序列
r = random.randrange(10, 101, 3)
print(r)

示例結果:

52
60
46

序列處理相關

從序列中獲取一個隨機元素

利用random.choice(iter)從任意序列中,比如列表,元組,字典等隨意獲取一個元素

import random
S = 'I like Python'
# 生成一個列表
L = S.split(' ')
print(L)
r = random.choice(L)
print(r)

打亂序列元素的排列順序

利用random.shuffle(iter)將原序列中的元素排列打亂

import random
S = 'I like Python'
# 生成一個列表
L = S.split(' ')
print(L)
random.shuffle(L)
print(L)

示例結果:

['I', 'like', 'Python']
['like', 'Python', 'I']

從序列隨機獲取多個元素

利用random.sample()序列中隨機獲取指定個數的元素,並返回指定長度的序列,不會改變原有序列

# 生成一個遞增序列
L = range(11)
rs = random.sample(L, 4)
print(rs)

示例結果:

[1, 0, 10, 7]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4289/viewspace-2822991/,如需轉載,請註明出處,否則將追究法律責任。

相關文章