在python带权重的列表中随机取值的方法


Posted in Python onJanuary 23, 2019

1 random.choice

python random模块的choice方法随机选择某个元素

foo = ['a', 'b', 'c', 'd', 'e']
from random import choice
print choice(foo)

2 random.sample

使用python random模块的sample函数从列表中随机选择一组元素

list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
slice = random.sample(list, 5) #从list中随机获取5个元素,作为一个片断返回 
print slice 
print list #原有序列并没有改变。

3 python带权重的随机取值

import random
def random_weight(weight_data):
  total = sum(weight_data.values())  # 权重求和
  ra = random.uniform(0, total)  # 在0与权重和之前获取一个随机数 
  curr_sum = 0
  ret = None
  keys = weight_data.iterkeys()  # 使用Python2.x中的iterkeys
#   keys = weight_data.keys()    # 使用Python3.x中的keys
  for k in keys:
    curr_sum += weight_data[k]       # 在遍历中,累加当前权重值
    if ra <= curr_sum:     # 当随机数<=当前权重和时,返回权重key
      ret = k
      break
  return ret
weight_data = {'a': 10, 'b': 15, 'c': 50}
random_weight(weight_data)

以上这篇在python带权重的列表中随机取值的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 学习笔记
Dec 27 Python
用yum安装MySQLdb模块的步骤方法
Dec 15 Python
Django框架验证码用法实例分析
May 10 Python
Python跳出多重循环的方法示例
Jul 03 Python
Python 使用 PyMysql、DBUtils 创建连接池提升性能
Aug 14 Python
python模块导入的方法
Oct 24 Python
用OpenCV将视频分解成单帧图片,图片合成视频示例
Dec 10 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
Jan 19 Python
Python %r和%s区别代码实例解析
Apr 03 Python
python中plt.imshow与cv2.imshow显示颜色问题
Jul 16 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
Aug 19 Python
详解Python flask的前后端交互
Mar 31 Python
Appium+Python自动化测试之运行App程序示例
Jan 23 #Python
Python+OpenCV图片局部区域像素值处理详解
Jan 23 #Python
Python实现查找数组中任意第k大的数字算法示例
Jan 23 #Python
Appium Python自动化测试之环境搭建的步骤
Jan 23 #Python
python读取图片任意范围区域
Jan 23 #Python
Python基于plotly模块实现的画图操作示例
Jan 23 #Python
python实现剪切功能
Jan 23 #Python
You might like
PHP的foreach中使用引用时需要注意的一个问题和解决方法
2014/05/29 PHP
ThinkPHP模版引擎之变量输出详解
2014/12/05 PHP
Zend Framework+smarty用法实例详解
2016/03/19 PHP
PHP实现图的邻接矩阵表示及几种简单遍历算法分析
2017/11/24 PHP
PHP ADODB生成HTML表格函数rs2html功能【附错误处理函数用法】
2018/05/29 PHP
Laravel5.7 数据库操作迁移的实现方法
2019/04/12 PHP
JQuery实现当鼠标停留在某区域3秒后自动执行
2014/09/09 Javascript
Node.js下自定义错误类型详解
2016/10/17 Javascript
nodejs中使用HTTP分块响应和定时器示例代码
2017/03/19 NodeJs
vue.js打包之后可能会遇到的坑!
2018/06/03 Javascript
vue使用原生js实现滚动页面跟踪导航高亮的示例代码
2018/10/25 Javascript
Python批量修改文件后缀的方法
2014/01/26 Python
深入分析在Python模块顶层运行的代码引起的一个Bug
2014/07/04 Python
详解Django框架中用户的登录和退出的实现
2015/07/23 Python
详解Python多线程
2016/11/14 Python
python多进程下实现日志记录按时间分割
2019/07/22 Python
python selenium爬取斗鱼所有直播房间信息过程详解
2019/08/09 Python
tensorflow 限制显存大小的实现
2020/02/03 Python
Python集合操作方法详解
2020/02/09 Python
pycharm通过ssh连接远程服务器教程
2020/02/12 Python
使用Django和Postgres进行全文搜索的实例代码
2020/02/13 Python
opencv python在视屏上截图功能的实现
2020/03/05 Python
Django与pyecharts结合的实例代码
2020/05/13 Python
Python reques接口测试框架实现代码
2020/07/28 Python
css3的过滤效果简单实例
2016/08/03 HTML / CSS
全球领先的各类汽车配件零售商:Advance Auto Parts
2016/08/26 全球购物
加拿大便宜的隐形眼镜商店:Clearly
2016/09/15 全球购物
玩具反斗城天猫官方旗舰店:享誉全球的玩具店
2017/10/10 全球购物
西班牙英格列斯百货英国官网:El Corte Inglés英国
2017/10/30 全球购物
个人近期表现材料
2014/02/11 职场文书
2015年教师师德师风承诺书
2015/04/28 职场文书
为自己工作观后感
2015/06/11 职场文书
导游词之阳朔遇龙河
2019/12/16 职场文书
pytorch中Schedule与warmup_steps的用法说明
2021/05/24 Python
python编程简单几行代码实现视频转换Gif示例
2021/10/05 Python
德生2P3收音机开箱评测
2022/04/30 无线电