该方法是常用的带权重随机数生成方法,思路是先将权重值求和total,在0与权重和total之间获得一个随机数rd,遍历权重字典,累加其权重值weight_sum, 当rd小于或等于weight_sum时,返回当前的权重key值,示例代码如下:import random

def random_weight(weight_data):

_total = sum(weight_data.values())    # 权重求和

_random = random.uniform(0, _total)   # 在0与权重和之前获取一个随机数

_curr_sum = 0

_ret = None

try:

_keys = weight_data.iterkeys()    # 使用Python2.x中的iterkeys

except AttributeError:

_keys = weight_data.keys()        # 使用Python3.x中的keys

for _k in _keys:

_curr_sum += data[_k]             # 在遍历中,累加当前权重值

if _random <= _curr_sum:          # 当随机数<=当前权重和时,返回权重key

_ret = _k

break

return _ret

转入值是一个字典,key为要获得的随机数据,key为其权重,如{'a': 10, 'b': 15, 'c': 50}

python权重是什么意思_Python带权重随机数的简单实现相关推荐

  1. python传入参数加星号_Python 带星号(* 或 **)的函数参数详解

    1. 带默认值的参数 在了解带星号(*)的参数之前,先看下带有默认值的参数,函数定义如下: >> def defaultValueArgs(common, defaultStr = &qu ...

  2. python拆分excel 样式不变_python带格式拆分excel表单,copy库完美搞定

    python拆分excel表单,生成单独的excel文件,网上这方面的文章很多.但大多只讲主功能如何实现,让拆分后的表保持和原表单一致的格式,则鲜有人讲.本文通过调用copy库,完美实现带格式拆分表单 ...

  3. python短视频自动制作_Python 带你一键生成朋友圈超火的九宫格短视频

    1. 场景 如果你经常刷抖音和微信朋友圈,一定发现了最近九宫格短视频很火! ​从朋友圈九宫格图片,到九宫格视频,相比传统的图片视频,前者似乎更有个性和逼格 除了传统的剪辑软件可以实现,是否有其他更加快 ...

  4. python数据写入表格生成图片_python带表格图片生成封装

    #!/usr/bin/python3#-*- coding: utf-8 -*-## author:qianqiu from prettytable importPrettyTablefrom PIL ...

  5. 列举python中常用的数据类型_Python基础知识 变量和简单数据类型

    在本章节中,将介绍Python程序中会使用到的各种数据类型,以及如何在程序中使用变量来表示这些数据.其中用到的一些例子均来自<Python编程从入门到实践 第2版>. 一.变量 1. 变量 ...

  6. python绘制梅尔谱图_Python入门到底有多简单(三):填充数据

    目录 1.加载包和数据读取2.数据填充2.1 用数值或字符串填充2.2 用字典填充2.3 method参数填充2.3.1 用前面的值填充2.3.2 用后面的值填充2.3.3 limit限制填充的个数2 ...

  7. python编程和应用数据_python编程之变量和简单的数据结构

    一.变量 前面我们用python输出了"hello world!" 这次我们在前面加入一行,定义一个变量,然后修改第二行. 添加变量导致Python解释器需要做更多工作.处理第1行 ...

  8. python操作微信电脑版_Python使用itchat模块实现简单的微信控制电脑功能示例

    本文实例讲述了Python使用itchat模块实现简单的微信控制电脑功能.分享给大家供大家参考,具体如下: #!/usr/bin/python #coding=UTF-8 import request ...

  9. python判断字符大小写转换_Python 字符串大小写转换的简单实例

    ①所有字母都转换为大写 # -*- coding:utf-8 -*- if __name__ == "__main__": a = 'hello, world!' print(a. ...

  10. python email模块写邮件_python常用模块email----创建简单的文本邮件并发送

    email模块可以方便的用来构造邮件,今天我们通过一个简单的例子来实现文本邮件的构造的发送. 先将要发送的内容写在文件里面: cat /tmp/email_test.txt hello there! ...

最新文章

  1. vendor自动恢复_解决 vendor 中存在大小写变更问题
  2. 小弟的新书《Ext JS权威指南》终于出版了
  3. php中将数据加入到文件中
  4. scipy的一些函数名
  5. 人工智能化发展已经到了哪一步?
  6. COM组件与.NET技术对比
  7. 面趣 | 马云在面试中出的一道题,据说只有一个人答对……
  8. 软件工程(2018)第三次个人作业
  9. linux caffe ssd 编译,Ubuntu 16.04 编译 Caffe SSD
  10. springcloud 心得记录
  11. 超市管理系统软件测试用例图,《天天超市管理系统》所有模块测试用例集.doc...
  12. 机器学习与数据挖掘的区别(一点个人理解)
  13. AI大神各显神通!百度深度学习集训营作品大赏
  14. 科普下Tippy.js - 开源且高度可做空间php的气泡翻译器
  15. 了解了广告行业利益相关方,横扫一切商业模式
  16. 大数据的四个核心问题
  17. RabbitMQ消息中间件快速入门
  18. 华为p8 root android6,华为p8青春版root教程【图解】
  19. 对volatile关键字盲点感悟
  20. Codeforces Beta Round #72 (Div. 2 Only)

热门文章

  1. OSPF报文与LSA
  2. 根据报告数据,2021 年 Q1,全球小说 App 推广榜 Top20 里面,有 11 个 App 来自中国厂商。最新版本已经上线
  3. 工业机器人产业链展板_赵德明调研六大新产业十大产业链发展情况
  4. jzxx2600野猫过生日
  5. 一款优秀的IT资产管理系统-Snipe-IT 安装及用户手册中文版(一安装部署篇)
  6. apache与tomcat动静分离
  7. 我的职业性格测评报告
  8. win7、win10常用快捷键
  9. php做后端的优势,【后端开发】php和java的优势
  10. Markdown语法图文详解