Python Random模块

Python Random模块

Python随机模块是Python的一个内置模块,用于生成随机数。这些是伪随机数,意味着这些不是真正的随机数。这个模块可以用来执行随机操作,如生成随机数,为一个列表或字符串打印随机值等。

例子:从一个列表中打印一个随机值

# import random
import random
  
# prints a random value from the list
list1 = [1, 2, 3, 4, 5, 6]
print(random.choice(list1))

输出:

2

如上所述,随机模块创建伪随机数。随机数取决于播种值。例如,如果播种值是5,那么下面程序的输出将总是相同的。

例子:用播种值创建随机数

import random
  
random.seed(5)
  
print(random.random())
print(random.random())

输出:

0.6229016948897019
0.7417869892607294

上述代码的输出将始终是相同的。因此,不能用它来加密。

让我们来讨论这个模块所进行的一些常见操作。

创建随机整数

random.randint()方法用于生成指定范围内的随机整数。

语法:

randint(start, end)

例子:创建随机整数

# Python3 program explaining work
# of randint() function
  
# import random module
import random
  
# Generates a random number between
# a given positive range
r1 = random.randint(5, 15)
print("Random number between 5 and 15 is % s" % (r1))
  
# Generates a random number between
# two given negative range
r2 = random.randint(-10, -2)
print("Random number between -10 and -2 is % d" % (r2))

输出:

Random number between 5 and 15 is 7
Random number between -10 and -2 is -9

创建随机浮点数

random.random()方法用于生成0.0到1之间的随机浮点数。

语法:

random.random()

例子:

# Python3 program to demonstrate
# the use of random() function .
      
# import random
from random import random
      
# Prints random item
print(random())

输出:

0.3717933555623072

选择随机元素

random.choice()函数用于从一个列表、元组或字符串中返回一个随机项目。

语法:

random.choice(sequence)

例子:从列表、字符串和元组中选择随机元素

# Python3 program to demonstrate the use of
# choice() method
  
# import random
import random
  
# prints a random value from the list
list1 = [1, 2, 3, 4, 5, 6]
print(random.choice(list1))
  
# prints a random item from the string
string = "geeks"
print(random.choice(string))
  
# prints a random item from the tuple
tuple1 = (1, 2, 3, 4, 5)
print(random.choice(tuple1))

输出:

2
k
5

洗牌列表

random.shuffle()方法是用来洗牌一个序列(列表)的。洗牌意味着改变序列中各元素的位置。这里,洗牌操作是就地进行的。

语法:

random.shuffle(sequence, function)

例子:洗牌列表

# import the random module
import random
  
  
# declare a list
sample_list = [1, 2, 3, 4, 5]
  
print("Original list : ")
print(sample_list)
  
# first shuffle
random.shuffle(sample_list)
print("\nAfter the first shuffle : ")
print(sample_list)
  
# second shuffle
random.shuffle(sample_list)
print("\nAfter the second shuffle : ")
print(sample_list)

输出:

Original list : 
[1, 2, 3, 4, 5]

After the first shuffle : 
[4, 3, 5, 2, 1]

After the second shuffle : 
[1, 3, 4, 5, 2]

Random 模块中的所有功能列表

Function Name Description
seed() 初始化随机数发生器
getstate() 返回一个包含随机数发生器当前内部状态的对象
setstate() 用于将随机数发生器的状态恢复到指定的状态。
getrandbits() 返回一个具有指定位数的整数
randrange() 返回一个范围内的随机数
randint() 返回一个范围内的随机整数
choice() 从一个列表、元组或字符串中返回一个随机项目
choices() 从列表中返回多个随机元素并进行替换
sample() 返回一个从序列中选择的特定长度的项目列表。
random() 生成随机浮动数
uniform() 返回两个数字之间的随机浮动数,两个数字都包括在内
triangular() 返回一个范围内的随机浮点数,偏向一个极端。
betavariate() 返回一个具有β分布的随机浮点数
expovariate() 返回一个指数分布的随机浮点数
gammavariate() 返回一个具有伽马分布的随机浮点数
gauss() 返回一个高斯分布的随机浮点数
lognormvariate() 返回一个对数正态分布的随机浮点数
normalvariate() 返回一个正态分布的随机浮点数
vonmisesvariate() 返回一个具有冯-米塞斯分布或循环正态分布的随机浮点数
paretovariate() 返回一个具有帕累托分布的随机浮点数
weibullvariate() 返回一个具有Weibull分布的随机浮点数

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程