在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和Ruby中each循环引用变量问题(一个隐秘BUG?)
Jun 04 Python
使用graphics.py实现2048小游戏
Mar 10 Python
Python第三方库xlrd/xlwt的安装与读写Excel表格
Jan 21 Python
matplotlib绘制符合论文要求的图片实例(必看篇)
Jun 02 Python
3个用于数据科学的顶级Python库
Sep 29 Python
python实现集中式的病毒扫描功能详解
Jul 09 Python
基于Python2、Python3中reload()的不同用法介绍
Aug 12 Python
tensorflow 报错unitialized value的解决方法
Feb 06 Python
Python文件夹批处理操作代码实例
Jul 21 Python
Python grpc超时机制代码示例
Sep 14 Python
Python监听键盘和鼠标事件的示例代码
Nov 18 Python
用Python爬取英雄联盟的皮肤详细示例
Dec 06 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&amp;MYSQL服务器配置说明
2006/10/09 PHP
使用PHP免费发送定时短信的实例
2016/10/24 PHP
通过PHP实现用户注册后邮箱验证激活
2020/11/10 PHP
使Ext的Template可以解析二层的json数据的方法
2007/12/22 Javascript
IE8 原生JSON支持
2009/04/13 Javascript
六款帮助你实现惊艳视差滚动效果的jQuery插件
2012/09/14 Javascript
使用jQuery管理选择结果
2015/01/20 Javascript
JavaScript中数据结构与算法(二):队列
2015/06/19 Javascript
超链接怎么正确调用javascript函数
2016/05/23 Javascript
Jquery 自定义事件实现发布/订阅的简单实例
2016/06/12 Javascript
angularJS之$http:与服务器交互示例
2017/03/17 Javascript
在vue组件中使用axios的方法
2018/03/16 Javascript
Angular 实现输入框中显示文章标签的实例代码
2018/11/07 Javascript
JavaScript实现与使用发布/订阅模式详解
2019/01/19 Javascript
微信小程序全局变量改变监听的实现方法
2019/07/15 Javascript
Vue 实例事件简单示例
2019/09/19 Javascript
python人人网登录应用实例
2014/09/26 Python
python实现文本去重且不打乱原本顺序
2016/01/26 Python
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
2018/05/11 Python
详解opencv Python特征检测及K-最近邻匹配
2019/01/21 Python
Python登录系统界面实现详解
2019/06/25 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
2020/02/10 Python
Python切割图片成九宫格的示例代码
2020/03/10 Python
python Tornado框架的使用示例
2020/10/19 Python
python实现计算器简易版
2020/12/17 Python
使用分层画布来优化HTML5渲染的教程
2015/05/08 HTML / CSS
泰国汽车、火车和轮渡票预订网站:Bus Online Ticket
2017/09/09 全球购物
美国香薰蜡烛品牌:PADDYWAX
2018/10/06 全球购物
巴西本土电商平台:Americanas
2020/06/21 全球购物
.NET初级开发工程师面试题(包括Javascript)
2012/08/22 面试题
SOA的常见陷阱或者误解是什么
2014/10/05 面试题
自我鉴定书面格式
2014/01/13 职场文书
我爱我校演讲稿
2014/05/21 职场文书
2014第二批党的群众路线教育实践活动对照检查材料思想汇报
2014/09/18 职场文书
个人买房协议书范本
2014/10/06 职场文书