首页 > 编程知识 正文

python多个随机数求和,Python引入随机数

时间:2023-05-03 20:34:56 阅读:266954 作者:2117

【前言】

python内置了很多随机数相关的函数,下面列举一些常用的函数,特别是python 3.6新加的加权随机特别实用

1、随机打乱指定集合序列的元素: import randomalist = [1,2,3,4,5,6,7,8,9]for i in range(3): random.shuffle(alist) print(alist)

输出:

[4, 9, 8, 7, 1, 5, 2, 3, 6][2, 1, 3, 6, 5, 7, 9, 4, 8][3, 9, 5, 4, 7, 1, 2, 8, 6] 2、随机从集合中挑选一个元素 alist = [1,2,3,4,5,6,7,8,9]for i in range(3): choiceNum = random.choice(range(10)) print(choiceNum)

输出:

643 3、随机生成的一个在[0,1)范围内的实数 alist = [1,2,3,4,5,6,7,8,9]for i in range(3): num = random.random() print(num)

输出:

0.62841414118661340.68131476481117790.30652512567883783 4、从集合中随机选出指定数量的样本 alist = [1, 2, 3, 4, 5, 6, 7, 8, 9]for i in range(10): sample = random.sample(alist, 4) print(sample)

输出:

[3, 9, 2, 4][3, 8, 6, 1][9, 3, 5, 1][6, 5, 3, 8][8, 1, 5, 6][4, 6, 9, 1][5, 7, 3, 6][8, 4, 9, 7][9, 3, 8, 6][2, 6, 5, 3] 5、对集合元素加权之后,随机选择一个元素出来(python 3.6+) import random# 元素集合alist = [0, 1, 2, 3, 4, 5, 6, 7, 8]# 元素对应的权重集合weight = [1, 1, 1, 1, 5, 1, 1, 1, 1]# 元素对应被抽中次数集合times = [0, 0, 0, 0, 0, 0, 0, 0, 0]# 遍历的次数travelCountList = (10,100,1000,10000)for k in travelCountList: for i in range(k): choiceNum = random.choices(alist, weights=weight) times[choiceNum[0]] += 1 print(times)

输出:

[0, 1, 2, 0, 4, 0, 2, 1, 0][2, 5, 6, 6, 56, 2, 16, 7, 10][81, 80, 92, 71, 444, 72, 87, 102, 81][878, 796, 901, 802, 4310, 849, 861, 896, 817]

从上面可以看到,只运行10次,其实权重的效果不是特别明显,但是运行10000次,基本被抽中的次数比接近设置的权重比

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。