Python中的random模块中的随机数问题

1.random.random()

随机生成[0, 1)均匀分布的一个数

import random
import seaborn as sns

data = [random.random() for i in range(1000)]
sns.distplot(data)

 2. random.uniform(a, b)

生成[a,b]均匀分布的一个随机数

data = [random.uniform(1, 5) for i in range(1000)]
sns.distplot(data)

 

 3. random.randint(a, b)

生成[a,b] 之间的一个随机整数, a, b必须是整数或者X.0的浮点数

data = [random.randint(1, 5) for i in range(10000)]
sns.distplot(data)

 4. random.choice(列表/元组/字符串)

随机从列表中选取一个元素

data = [random.choice(range(10)) for i in range(10000)]
sns.distplot(data)

 5. random.sample(列表/元组/字符串, k=n)

随机从列表中选取n个不重复的元素, 但是如果序列中有重复的元素, 那就会有重复的元素

# 如果k大于序列的长度会报错
random.sample(range(5), 6)

 

random.sample([1, 2, 3, 3, 2, 1], 6)

 结果:[1, 2, 3, 1, 3, 2]

# 验证没有重复的元素
data = random.sample(range(100), 100)
print(len(data))
print(len(set(data)))

结果:

100
100

6. random.choices(列表/元组/字符串, k=n, weights=[对应元素的权重]) 

随机从列表中选取n个的元素,可以重复的 

random.choices([1,2,3,4,5],k=3,weights=[1,0,1,0,0])
结果:[3, 3, 1]
data = random.choices(range(10),k=1000000,weights=range(1, 11))
sns.distplot(data)

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值