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

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

概述

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]


分享到:


相關文章: