在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 22 Python
python监控进程脚本
Apr 12 Python
tensorflow使用神经网络实现mnist分类
Sep 08 Python
Pandas 按索引合并数据集的方法
Nov 15 Python
浅谈python在提示符下使用open打开文件失败的原因及解决方法
Nov 30 Python
Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析
Apr 12 Python
详解Python的三种可变参数
May 08 Python
使用Python制作表情包实现换脸功能
Jul 19 Python
关于Pytorch MaxUnpool2d中size操作方式
Jan 03 Python
Python 实现将大图切片成小图,将小图组合成大图的例子
Mar 14 Python
Python中flatten( ),matrix.A用法说明
Jul 05 Python
python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法
Nov 05 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网站提速三大“软”招
2006/10/09 PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
2020/08/24 PHP
改善用户体验的五款jQuery插件分享
2011/05/22 Javascript
基于jQuery捕获超链接事件进行局部刷新代码
2012/05/10 Javascript
JavaScript获取图片的原始尺寸以宽度为例
2014/05/04 Javascript
javascript实现仿腾讯游戏选择
2015/05/14 Javascript
简介JavaScript中的italics()方法的使用
2015/06/08 Javascript
js实现数组转换成json
2015/06/26 Javascript
javascript类型系统 Window对象学习笔记
2016/01/07 Javascript
jquery采用oop模式class类的使用示例
2016/01/22 Javascript
JS弹出层遮罩,隐藏背景页面滚动条细节优化分析
2016/04/29 Javascript
jQuery中数据缓存$.data的用法及源码完全解析
2016/04/29 Javascript
Vue.js render方法使用详解
2017/04/05 Javascript
node koa2实现上传图片并且同步上传到七牛云存储
2017/07/31 Javascript
Vue-cli 使用json server在本地模拟请求数据的示例代码
2017/11/02 Javascript
关于react中组件通信的几种方式详解
2017/12/10 Javascript
JS中常用的消息框总结
2018/02/24 Javascript
JavaScript常见鼠标事件与用法分析
2019/01/03 Javascript
vue 弹窗时 监听手机返回键关闭弹窗功能(页面不跳转)
2019/05/10 Javascript
vue 自定义组件的写法与用法详解
2020/03/04 Javascript
vue使用echarts画组织结构图
2021/02/06 Vue.js
[43:32]Winstrike vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
[48:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第二场 1月29日
2021/03/11 DOTA
Kears+Opencv实现简单人脸识别
2019/08/28 Python
解决Python3下map函数的显示问题
2019/12/04 Python
Spring @Enable模块驱动原理及使用实例
2020/06/23 Python
HTML5之HTML元素扩展(上)—新增加的元素及使用概述
2013/01/31 HTML / CSS
北卡罗来纳州豪华家具和家居装饰店:Carolina Rustica
2018/10/30 全球购物
意大利网上药房:Farmacia 33
2020/01/27 全球购物
应届生法律顾问求职信
2013/11/19 职场文书
学年自我鉴定
2014/01/16 职场文书
教师节标语大全
2014/10/07 职场文书
医药公司开票员岗位职责
2015/04/15 职场文书
小学生节水倡议书
2015/04/29 职场文书
读《瓦尔登湖》有感:每个人都需要一个瓦尔登湖
2019/10/17 职场文书
java实现面板之间切换功能
2022/06/10 Java/Android