python random随机数用法

本文介绍了如何使用Python中的np.random模块来生成各种类型的随机数,包括基于特定种子值的重复序列、随机整数、浮点数及如何对列表进行随机排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. np.random.seed(int)
    给随机数对象一个种子值,用于产生随机序列。
    对于同一个种子值的输入,之后产生的随机数序列也一样。
    通常是把时间秒数等变化值作为种子值,达到每次运行产生的随机系列都不一样
    seed() 省略参数,意味着使用当前系统时间生成随机数
np.random.seed(10)
print random.random()   #0.57140259469
np.random.seed(10)
print random.random()   #0.57140259469  同一个种子值,产生的随机数相同
print random.random()   #0.428889054675
random.seed()           #省略参数,意味着取当前系统时间
print random.random()
random.seed()
print random.random()
  1. 返回指定范围的一个随机整数,包含上下限
print random.randint(1,10)
print random.randint(1,10,size=n)  #有放回的取n次{1,2,3,..,9}之间的一个数。
  1. random.uniform(x,y)
#x-y之间的一个随机浮点数
print random.uniform(1,5)
  1. random.randrange(start,stop,step)
#按步长随机在上下限范围内取一个随机数
print random.randrange(20,100,5)

http://www.runoob.com/python/func-number-randrange.html

  1. random.random()
    随机浮点数
    print random.random()

  2. .random.shuffle

对list列表随机打乱顺序,也就是洗牌
shuffle只作用于list,对Str会报错比如‘abcdfed’,而[‘1’,‘2’,‘3’,‘5’,‘6’,‘7’]可以

item=[1,2,3,4,5,6,7]
print item
random.shuffle(item)
print item
 
item2=['1','2','3','5','6','7']
print item2
random.shuffle(item2)
print item2
### Python 中使用 `random` 模块生成随机数的方法 #### 1. 随机浮点数生成 `random.random()` 方法用于生成一个 [0.0, 1.0) 范围内的随机浮点数[^4]。 ```python import random print(random.random()) # 输出如:0.37444887175646646 ``` #### 2. 随机整数生成 `random.randint(a, b)` 方法返回一个范围在 `[a, b]` 内的随机整数,包括端点值[^2]。 ```python print(random.randint(1, 10)) # 输出如:7 ``` #### 3. 随机选择列表中的元素 `random.choice(seq)` 方法从非空序列中随机选择一个元素[^3]。 ```python my_list = ['apple', 'banana', 'cherry'] print(random.choice(my_list)) # 输出如:banana ``` #### 4. 打乱列表顺序 `random.shuffle(x)` 方法将列表 `x` 的顺序随机打乱[^2]。 ```python my_list = [1, 2, 3, 4, 5] random.shuffle(my_list) print(my_list) # 输出如:[3, 1, 4, 2, 5] ``` #### 5. 随机抽取多个元素 `random.sample(population, k)` 方法从指定的总体 `population` 中随机抽取 `k` 个不重复的元素。 ```python my_list = [1, 2, 3, 4, 5] print(random.sample(my_list, 3)) # 输出如:[2, 5, 1] ``` #### 6. 带权重的随机选择 虽然 `random` 模块本身没有直接支持带权重的随机选择方法,但可以通过结合 `random.choices()` 和权重参数实现。 ```python choices = ['red', 'green', 'blue'] weights = [10, 5, 1] print(random.choices(choices, weights=weights, k=1)) # 输出如:['red'] ``` #### 7. 随机生成符合特定分布的数值 `random` 模块提供了多种分布的随机数生成方法,例如均匀分布、正态分布等[^3]。 - **均匀分布**:`random.uniform(a, b)` 返回一个范围在 `[a, b]` 内的随机浮点数。 - **正态分布**:`random.gauss(mu, sigma)` 返回一个符合正态分布(均值为 `mu`,标准差为 `sigma`)的随机浮点数。 ```python print(random.uniform(1.0, 2.0)) # 输出如:1.573219427815798 print(random.gauss(0, 1)) # 输出如:-0.4219012726883284 ``` #### 8. 设置随机数种子 通过 `random.seed(a=None)` 方法可以设置随机数种子,确保每次运行程序时生成的随机数序列相同[^4]。 ```python random.seed(10) print(random.randint(1, 100)) # 输出固定值 ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值