在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脚本
Apr 05 Python
Python-基础-入门 简介
Aug 09 Python
python根据给定文件返回文件名和扩展名的方法
Mar 27 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
Jan 30 Python
Python read函数按字节(字符)读取文件的实现
Jul 03 Python
Python求两点之间的直线距离(2种实现方法)
Jul 07 Python
Python处理session的方法整理
Aug 29 Python
使用python实现回文数的四种方法小结
Nov 24 Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
Jan 18 Python
详解python环境安装selenium和手动下载安装selenium的方法
Mar 17 Python
Python如何批量获取文件夹的大小并保存
Mar 31 Python
pyCharm 实现关闭代码检查
Jun 09 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数据分析引擎计算余弦相似度算法示例
2017/08/08 PHP
PHP实现的分解质因数操作示例
2018/08/01 PHP
PHP实现websocket通信的方法示例
2018/08/28 PHP
基于JQuery的6个Tab选项卡插件
2010/09/03 Javascript
自制轻量级仿jQuery.boxy对话框插件代码
2010/10/26 Javascript
JavaScript获取页面上某个元素的代码
2011/03/13 Javascript
jQuery 快速结束当前正在执行的动画
2013/11/20 Javascript
js鼠标及对象坐标控制属性详细解析
2013/12/14 Javascript
JS解析XML实例分析
2015/01/30 Javascript
基于javascript实现九宫格大转盘效果
2020/05/28 Javascript
JS实现table表格数据排序功能(可支持动态数据+分页效果)
2016/05/26 Javascript
Angular获取手机验证码实现移动端登录注册功能
2017/05/17 Javascript
React-router中结合webpack实现按需加载实例
2017/05/25 Javascript
angular select 默认值设置方法
2017/06/23 Javascript
详解Vue SPA项目优化小记
2018/07/03 Javascript
node.js实现上传文件功能
2019/07/15 Javascript
Element PageHeader页头的使用方法
2020/07/26 Javascript
原生js实现贪吃蛇游戏
2020/10/26 Javascript
解决Element中el-date-picker组件不回填的情况
2020/11/07 Javascript
[49:21]TNC vs VG 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第三场 8.20.mp4
2019/08/22 DOTA
Python AES加密模块用法分析
2017/05/22 Python
Python3.0中普通方法、类方法和静态方法的比较
2019/05/03 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
详解Python Qt的窗体开发的基本操作
2019/07/14 Python
python基础 range的用法解析
2019/08/23 Python
Python3开发环境搭建详细教程
2020/06/18 Python
Elemis美国官网:英国的第一豪华护肤品牌
2018/03/15 全球购物
用缩写的指针比较"if(p)" 检查空指针是否可靠?如果空指针的内部表达不是0会怎么样?
2014/01/05 面试题
档案接收函范文
2014/01/10 职场文书
医院实习接收函
2014/01/12 职场文书
护理专科学生自荐书
2014/07/05 职场文书
律师授权委托书范本
2014/10/07 职场文书
2015秋季开学演讲稿范文
2015/07/16 职场文书
springboot集成flyway自动创表的详细配置
2021/06/26 Java/Android
一篇文章看懂MySQL主从复制与读写分离
2021/11/07 MySQL
JavaScript设计模式之原型模式详情
2022/06/21 Javascript