欢迎访问宙启技术站
智能推送

Python内置函数:random()

发布时间:2023-06-05 03:06:54

Python内置函数random()是一个高效且易于使用的随机数生成工具,可以在计算机科学和数学领域中实现很多应用。random()源自Python标准库中的random模块,可以用于生成整数、浮点数和随机序列,也可以用于派生更高级别的特殊用途的随机数生成器。

此文将介绍Python中的random函数,涵盖以下几个方面:

1. random()概述

2. 用法1:生成随机数字

3. 用法2:随机打乱列表

4. 用法3:选择随机元素

5. 用法4:生成随机字符串

6. 自定义随机数生成器

7. random()参数

1. random()概述

random()函数是Python的随机数生成函数之一,用于生成指定范围内的随机数。random函数可以生成一个介于0和1之间的小数,范围包括0和1。使用random()时,需要先导入Python标准库的random模块,以便在程序中使用random。

2. 用法1:生成随机数字

如果要生成指定范围内的随机整数,可以通过以下代码使用random()函数实现。代码中使用了Python中的randint()函数,其接受两个参数:指定范围的最小值和最大值。这将在给定的范围内生成一个随机数。

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

此代码将在1到100之间生成随机整数并打印输出。运行此代码时,程序将每次输出不同的结果,因为它使用Python的随机数生成器。

3. 用法2:随机打乱列表

如果要将列表中的元素随机重新排列,可以使用random()函数。在Python中,要将列表中的元素随机打乱,可以通过shuffie()函数来实现,代码示例如下:

import random
lst = ['apple', 'banana', 'orange', 'pear']
random.shuffle(lst)
print(lst)

此版本的代码将随机打乱列表中的元素,因此每次运行代码时,结果将不同。shuffle()函数的参数是一个列表(lst),将原地打乱(不返回新列表,直接在原列表上打乱)列表中的元素。

4. 用法3:选择随机元素

如果想从给定的序列中选择一个随机元素,可以使用random()函数来实现。在这里,我们使用Python的choice()函数实现此功能,代码示例如下:

import random
lst = ['apple', 'banana', 'orange', 'pear'] 
print(random.choice(lst))

此版本将在给定的序列(lst)中选择一个随机元素,并将其打印输出。每次运行代码时,结果都会不同,因为每次选择的元素都会随机变化。

5. 用法4:生成随机字符串

无论何时需要一个随机字符串,都可以使用reverse()函数。要生成随机字符串,需要创建一个空字符串,并迭代该字符串的长度。在每次循环中,可以从ASCII表中选择随机字符,并将其添加到字符串中。

import random
alphabet = "abcdefghijklmnopqrstuvwxyz"
password = ""
length = 8
for i in range(length):
  password += random.choice(alphabet)
print(password)

此版本将生成一个随机的8位字符串,该字符串由小写字母组成。但是,可以轻松更改alphabet字符串来包含所需的任何字符集。

6. 自定义随机数生成器

如果要控制随机数生成器以便获得更准确的随机数,可以使用Python中的random()函数完成自定义随机数生成器。在这里,我们将介绍一些生成随机数的常用随机方法,并说明如何在Python中使用它们。

①Uniform分布

如果要生成一个位于两个数字之间的随机小数,可以使用uniform()函数。例如,要在介于1和10之间的数字中生成随机小数,可以使用以下代码:

import random
print(random.uniform(1, 10))

这会生成一个介于1.0和10.0之间的随机小数。

②Normal分布

如果要生成正常(高斯)分布的随机数,则可以使用gauss()函数。 要生成均值为mu和标准偏差为sigma的随机数,请使用以下代码:

import random
print(random.gauss(mu, sigma))

此代码将生成一个均值为mu和标准偏差为sigma的随机数。

③Binomial分布

如果需要从n个独立并拥有相同概率的事件中选择k个事件的数量,则可以使用binomial()函数。要在n次拍摄中找到k个成功的概率为p,则可以使用以下代码:

import random
print(random.binomial(n, p, k))

这会在n次重复实验中从一个成功的概率为p的成功/失败结果中选择k个成功的概率。

7. random()函数的参数

random()函数还有一些其他的参数,允许您更好地控制随机数生成器:

a. Seed值

如果要生成完全相同的随机数序列,可以使用整数种子值来初始化随机数生成器。例如,要生成与特定种子值相对应的随机数,请使用以下代码:

import random
random.seed(my_seed)
print(random.random())

这里的my_seed用于控制生成的随机序列。

b. 随机数序列长度

如果需要生成一个给定长度的随机数序列,请将它们迭代为整数。例如,要在1到100之间生成10个随机整数,请使用以下代码:

import random
for i in range(10):
  print(random.randint(1, 100))

这会生成长度为10的随机整数序列。

c. 随机序列

要生成一个随机序列,可以使用random()函数。这将返回由随机数生成器生成的浮点数序列。例如,要生成一个长度为10的随机序列,请使用以下代码:

import random
seq = [random.random() for i in range(10)]
print(seq)

这会生成由10个随机数组成的列表。

总结:

random()函数是Python的强大工具之一,可用于实现各种随机应用。在此文中,我们探讨了random()的几个用例,包括生成随机整数、随机打乱列表、从序列中选择随机元素和生成随机字符串。我们还介绍了一些其他默认参数,例如种子值和随机数序列长度,以及一些主要常规分布,例如Uniform分布、Normal分布和Binomial分布。

总之,Python的random()函数是一个非常有用的模块,可以使随机数生成器提供更多的控制。如果要生成可重复的随机数序列或自定义随机数分布,建议您使用Python的random()函数和其他高级数学库。