Python中的random.[random、uniform、randint 、randrange、choice、shuffle、sample、RandomState、randint] 用法

结构为:

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

Pythonrandom模块提供了一些用于生成随机数的函数。其random.random()函数用于生成一个范围在[0,1)之间的随机浮点数。如果在使用random.random()函数之前使用random.seed()函数设定了随机种子,那么生成的随机数将被直接设定为固定的值。例如,在设定随机种子为10之后,random.random()的随机数将被设定为0.5714025946899135。 此外,random模块还提供了其他一些常用的随机数生成函数。例如,random.randint(a, b)函数可以生成一个范围在a和b之间的整数(包括a和b)。random.uniform(a, b)函数可以生成一个范围在a和b之间的随机浮点数。random.randrange(start, stop, step)函数可以生成一个范围在start和stop之间、步长为step的随机整数。random.getrandbits(k)函数可以生成一个包含k个随机位的整数。random.choice(seq)函数可以从序列seq随机选择一个元素。random.shuffle(seq)函数可以将序列seq的元素随机打乱。random.sample(population, k)函数可以从population随机选择k个不重复的元素,并返回一个新的列表。 所以,在Python,可以使用random.random()函数生成一个[0,1)之间的随机浮点数,同时还可以使用其他的随机数生成函数来满足不同的需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Pythonrandom函数用法整理](https://blog.csdn.net/m0_62735081/article/details/124978101)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Pythonrandom函数](https://blog.csdn.net/qq_39800695/article/details/128667317)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值