当前位置:首页 » 《休闲阅读》 » 正文

Python中的random.choices详解

29 人参与  2024年11月12日 18:41  分类 : 《休闲阅读》  评论

点击全文阅读


1. 什么是random.choices函数?

random.choices是Python标准库中random模块提供的一个函数,用于从给定的序列中随机选择一个值。这个函数可以用于实现随机抽样、按照概率进行选择等功能。

random.choices(population, weights=None, *, cum_weights=None, k=1)函数的参数解释如下:

population:必需参数,指定要进行选择的序列(可以是列表、元组等)。weights:可选参数,指定每个元素的权重(概率)。如果不指定,则默认每个元素的权重相等。cum_weights:可选参数,指定累计权重。如果指定了cum_weights,则必需省略weights参数。k:可选参数,指定要选择的元素个数。默认为1,即只选择一个元素。

2. random.choices函数的用法示例

示例1:从列表中随机选择一个元素

import randomfruits = ['apple', 'banana', 'orange', 'grape', 'watermelon']chosen_fruit = random.choices(fruits)print(chosen_fruit)

运行结果

['grape'] 

示例2:按照概率从列表中随机选择一个元素

import randomfruits = ['apple', 'banana', 'orange', 'grape', 'watermelon']weights = [0.1, 0.2, 0.3, 0.2, 0.2]chosen_fruit = random.choices(fruits, weights=weights)print(chosen_fruit)

运行结果

['orange'] 

示例3:选择多个元素

import randomfruits = ['apple', 'banana', 'orange', 'grape', 'watermelon']chosen_fruits = random.choices(fruits, k=3)print(chosen_fruits)

运行结果

['banana', 'apple', 'watermelon'] 

示例4:利用cum_weights参数选择元素 

import randomfruits = ['apple', 'banana', 'orange', 'grape', 'watermelon']cum_weights = [0.1, 0.4, 0.7, 0.9, 1.0]chosen_fruit = random.choices(fruits, cum_weights=cum_weights)print(chosen_fruit)

运行结果

['grape'] 

示例5:选择多个元素并计算选择的次数

import randomfruits = ['apple', 'banana', 'orange', 'grape', 'watermelon']chosen_fruits = random.choices(fruits, k=1000)fruit_counts = {}for fruit in chosen_fruits:    if fruit in fruit_counts:        fruit_counts[fruit] += 1    else:        fruit_counts[fruit] = 1print(fruit_counts)

 运行结果

{'orange': 334, 'grape': 192, 'apple': 203, 'watermelon': 152, 'banana': 119}

3. 总结

random.choices函数是Python中一个非常有用的函数,可以用于实现随机抽样、按照概率进行选择等功能。通过合理地使用参数,我们可以根据需求选择单个或多个元素,并可以对选择的元素进行计数等操作。

通过阅读本文,你应该对random.choices函数有了更深入的理解,并可以灵活地将其应用于自己的编程任务中。

4.特别提醒

random.choices 在 k>1 时,也就是选择的元素个数大于1时,元素是有可能重复的。要想得到一个不重复的随机数列,请自行编写方法。

 

 

 


点击全文阅读


本文链接:http://zhangshiyu.com/post/185263.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • (番外)+(全书)相爱十八年,老公取了儿子骨髓:结局+番外(陆锦咫)_(相爱十八年,老公取了儿子骨髓:结局+番外)列表_笔趣阁(陆锦咫)
  • 全文一念情深,一念婚烬:+后续+结局高质量好文(卢振庭傅青青温素素)列表_全文一念情深,一念婚烬:+后续+结局高质量好文
  • 低保身份被抢后爆款小说高能章节试读_金宝爸爸妈妈申请书节选推荐
  • 全书浏览七年时间她怎么说放下就放下了(段星野)_七年时间她怎么说放下就放下了(段星野)全书结局
  • 幽思燃烬忘川路:+后续精彩剧情列表_幽思燃烬忘川路:+后续精彩剧情(叶墨谨幽璃)
  • [女友耍我七次假领证,我转头娶走她姐姐]小说后续在线免费阅读_[项锦诗季成周天亮]章节悬念抢先解锁‌
  • 全书浏览南风吹梦到西洲顾西舟完结(燕南)_南风吹梦到西洲顾西舟完结(燕南)全书结局
  • (番外)+(全书)卢振庭傅青青温素素(一念情深,一念婚烬:全书+后续+结局)_卢振庭傅青青温素素免费列表_笔趣阁(一念情深,一念婚烬:全书+后续+结局)
  • 离婚后,我虐前夫千百遍:结局+番外,孟烟梁砚舟_离婚后,我虐前夫千百遍:结局+番外,孟烟梁砚舟列表
  • 爱如花木向阳而生:结局+番外(时渺谢行舟)
  • [四百摄氏度下爱我]全文+后续_安紫沈竹老公后续已完结
  • 时光烬余温:结局+番外看点十足(孟昭宁顾君蘅顾斯年)全书免费_(孟昭宁顾君蘅顾斯年)时光烬余温:结局+番外看点十足后续(孟昭宁顾君蘅顾斯年)

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1