结构为:
1、random.random(): 用于生成 0-1 的随机浮点数。
2、random.uniform(a, b): 用于生成一个指定范围内的随机浮点数。
3、random.randint: 用于生成一个指定范围内的整数。
4、random.randrange: 从指定范围内,按指定基数递增的集合中 获取一个随机数。
5、random.choice: 从序列中获取一个随机元素。
6、random.shuffle: 用于将一个列表中的元素打乱。
7、random.sample: 从指定序列中随机获取指定长度的片断。
8、random.RandomState(): 随机数种子,每次生成的随机数相同
**9、np.random.randint()😗*生成矩阵大小的随机数字
1、用于生成 0-1 的随机浮点数:
import random
print(random.random())
print(random.random())
结果为:
0.8563833287330453
0.1836953431709447
2、random.uniform(a, b):
用于生成一个指定范围内的随机浮点数,两个参数其中一个是上限,一个是下限,不用刻意区分位置:
import random
print(random.uniform(10, 20))
print(random.uniform(20, 10))
结果为:
16.004015577108664
12.700757079888149
3、random.randint:
random.randint(a, b),用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,这里的上下限是固定的
import random
print(random.randint(12, 20)) # 生成的随机数 n: 12 <= n <= 20
print(random.randint(20, 20)) # 结果永远是20
# print(random.randint(20, 10)) # 该语句是错误的。下限必须小于上限
4、random.randrange
random.randrange([start], stop[, step]) ,从指定范围内,按指定基数递增的集合中 获取一个随机数。
如: random.randrange(10, 100, 2),结果相当于从[10, 12, 14, 16, … 96, 98]序列中获取一个随机数。 而 random.randrange(10, 100, 2)在结果上random.choice(range(10, 100, 2) 等效。
import random
print(random.randrange(10, 100, 2))
print(random.choice(range(10, 100, 2)))
结果为:
24
84
5、random.choice
random.choice从序列中获取一个随机元素。其函数原型为:random.choice(sequence)。参数sequence表示一个有序类型。 要注意的是: sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。有关sequence可以查看python手册数据模型
import random
print(random.choice("练习Python编程"))
print(random.choice(["A", "handsome", "boy"]))
print(random.choice(("Tuple", "List", "haha")))
结果为:
y
A
Tuple
6、random.shuffle
random.shuffle(x[, random]),用于将一个列表中的元素打乱。
import random
p = ["Tomorrow", "is", "a", "beautiful", "day"]
random.shuffle(p)
print(p)
结果为:
['beautiful', 'a', 'Tomorrow', 'day', 'is']
7、random.sample
random.sample(sequence, k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列
import random
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
slice = random.sample(list, 5) # 从list中随机获取5个元素,作为一个片断返回
print(slice)
print(list) # 原有序列并没有改变
结果为:
[6, 3, 9, 7, 8]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
8、random.RandomState():
import random
import numpy as np
r = np.random.RandomState(0) #随机数种子,相同种子下每次运行生成的随机数相同
color = r.uniform(0., 1., size=3)
print(color)
结果为:
[0.5488135 0.71518937 0.60276338]
举例:
a. 随机0到10的整数:
import random
print(random.randint(0, 10))
结果为: 2
b. 0到10的偶数:
import random
print(random.randrange(0, 11, 2))
结果为: 8
c. 0到1的随机浮点数:
import random
print(random.random())
print(random.uniform(0, 1))
结果为:
0.8483945301554829
0.10038040393777947
d. 随机字符:
import random
print(random.choice('abcdefg&#%'))
结果为: #
e. 多个字符中选取特定数量的字符:
import random
print(random.sample('abcdef', 3))
结果为: [‘d’, ‘c’, ‘f’]
f. 随机选取字符串:
import random
print(random.choice(['apple', 'lemon', 'peach', 'orange']))
结果为: orange
g. 随机打乱:
import random
items = [1, 2, 3, 4, 5, 6]
random.shuffle(items)
print(items)
结果为: [2, 4, 6, 1, 5, 3]
9、np.random.randint():
import numpy as np
lines = 13
columns = 6
random_number = np.random.randint(1000, 5000, size=[lines, columns])
print(random_number)
结果为:
[[4635 1691 1115 3877 3122 1002]
[4717 4403 4426 2179 3131 2999]
[2009 1784 1391 4208 1387 4957]
[3780 1351 4001 2680 2183 3219]
[4635 3688 4239 3823 4441 4246]
[3217 1829 4475 3159 2843 3987]
[1364 4586 1924 3360 3472 3144]
[2448 2026 3466 1957 1960 2451]
[2158 3736 2214 4736 3046 3668]
[2187 2732 3735 2293 4577 4568]
[2606 4175 3114 1426 2537 1665]
[1026 4860 1135 4800 2055 3474]
[3704 3499 4856 3976 1301 1478]]
学习链接:
https://blog.csdn.net/qq_31279347/article/details/82795405