在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 18 Python
用实例分析Python中method的参数传递过程
Apr 02 Python
python实现的简单文本类游戏实例
Apr 28 Python
python正则表达式面试题解答
Apr 28 Python
Python编程实现从字典中提取子集的方法分析
Feb 09 Python
解决python删除文件的权限错误问题
Apr 24 Python
用pandas中的DataFrame时选取行或列的方法
Jul 11 Python
Django model序列化为json的方法示例
Oct 16 Python
浅谈pytorch中的BN层的注意事项
Jun 23 Python
python打开音乐文件的实例方法
Jul 21 Python
Pycharm在指定目录下生成文件和删除文件的实现
Dec 28 Python
python实现scrapy爬虫每天定时抓取数据的示例代码
Jan 27 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下尝试使用GraphicsMagick的缩略图功能
2011/01/01 PHP
php mysql 判断update之后是否更新了的方法
2012/01/10 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
2016/01/04 PHP
thinkPHP3.1验证码的简单实现方法
2016/04/22 PHP
php 使用mpdf实现指定字段配置字体样式的方法
2019/07/29 PHP
用javascript getComputedStyle获取和设置style的原理
2008/10/10 Javascript
iframe 异步加载技术及性能分析
2011/07/19 Javascript
最短的javascript:地址栏载入脚本代码
2011/10/13 Javascript
javascript学习笔记(十五) js间歇调用和超时调用
2012/06/20 Javascript
javascript full screen 全屏显示页面元素的方法
2013/09/27 Javascript
JavaScript中的getDay()方法使用详解
2015/06/09 Javascript
快速使用Bootstrap搭建传送带
2016/05/06 Javascript
BootStrap学习系列之布局组件(下拉,按钮组[toolbar],上拉)
2017/01/03 Javascript
理解javascript中的闭包
2017/01/11 Javascript
angularjs select 赋值 ng-options配置方法
2018/02/28 Javascript
小程序登录态管理的方法示例
2018/11/13 Javascript
vue 使用rules对表单字段进行校验的步骤
2020/12/25 Vue.js
python将html转成PDF的实现代码(包含中文)
2013/03/04 Python
python itchat实现微信自动回复的示例代码
2017/08/14 Python
http请求 request失败自动重新尝试代码示例
2018/01/25 Python
Django数据库表反向生成实例解析
2018/02/06 Python
解决pyecharts在jupyter notebook中使用报错问题
2020/04/23 Python
Django获取该数据的上一条和下一条方法
2019/08/12 Python
印度最大的酒店品牌网络:OYO Rooms
2016/07/24 全球购物
俄罗斯皮肤健康中心:Pharmacosmetica.ru
2020/02/22 全球购物
Linux管理员面试题 Linux admin interview questions
2014/11/01 面试题
金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)-> (一千零一拾一元整)输出
2015/05/29 面试题
大专自我鉴定范文
2013/10/01 职场文书
工程地质勘察专业大学生求职信
2013/10/13 职场文书
ktv中秋节活动方案
2014/01/30 职场文书
小学一年级学生评语
2014/04/22 职场文书
电子商务实训报告总结
2014/11/05 职场文书
安全生产隐患排查制度
2015/08/05 职场文书
MySQL单表千万级数据处理的思路分享
2021/06/05 MySQL
Win10防火墙白名单怎么设置?Win10添加防火墙白名单方法
2022/04/06 数码科技
Redis高并发缓存架构性能优化
2022/05/15 Redis