在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 相关文章推荐
gearman的安装启动及python API使用实例
Jul 08 Python
Python中使用PIL库实现图片高斯模糊实例
Feb 08 Python
Python实现的文本简单可逆加密算法示例
May 18 Python
利用python实现简单的循环购物车功能示例代码
Jul 05 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
Jul 10 Python
Zookeeper接口kazoo实例解析
Jan 22 Python
Python多线程编程之多线程加锁操作示例
Sep 06 Python
对Python之gzip文件读写的方法详解
Feb 08 Python
基于Python快速处理PDF表格数据
Jun 03 Python
Python抓包并解析json爬虫的完整实例代码
Nov 03 Python
如何利用python正则表达式匹配版本信息
Dec 09 Python
python实现计算器简易版
Dec 17 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
Terran剧情介绍
2020/03/14 星际争霸
PHP中feof()函数实例测试
2014/08/23 PHP
thinkphp配置文件路径的实现方法
2016/08/30 PHP
PHP读取大文件的几种方法介绍
2016/10/27 PHP
PHP删除字符串中非字母数字字符方法总结
2019/01/20 PHP
javascript 简练的几个函数
2009/08/29 Javascript
IE6不能修改NAME问题的解决方法
2010/09/03 Javascript
javascript一个无懈可击的实例化XMLHttpRequest的方法
2010/10/13 Javascript
JsRender for object语法简介
2014/10/31 Javascript
JS解析XML实例分析
2015/01/30 Javascript
javascript中函数作为参数调用的方法
2015/02/09 Javascript
Css3制作变形与动画效果
2015/07/24 Javascript
微信扫码支付零云插件版实例详解
2017/04/26 Javascript
vuejs实现本地数据的筛选分页功能思路详解
2017/11/15 Javascript
clipboard.js在移动端复制失败的解决方法
2018/06/13 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
2019/10/26 Javascript
js实现弹窗效果
2020/08/09 Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
2020/09/07 Javascript
[56:46]Liquid vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python中使用Inotify监控文件实例
2015/02/14 Python
Python的Flask框架中的Jinja2模板引擎学习教程
2016/06/30 Python
python使用epoll实现服务端的方法
2018/10/16 Python
python实现批量nii文件转换为png图像
2019/07/18 Python
python实现大文件分割与合并
2019/07/22 Python
Python使用mongodb保存爬取豆瓣电影的数据过程解析
2019/08/14 Python
matlab中imadjust函数的作用及应用举例
2020/02/27 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
Doyoueven官网:澳大利亚健身服饰和配饰品牌
2019/03/24 全球购物
德国净水壶和滤芯品牌:波尔德PearlCo(家用净水器)
2020/04/29 全球购物
杭州联环马网络笔试题面试题
2013/08/04 面试题
租房协议书怎么写
2014/04/10 职场文书
有关保护环境的宣传标语100条
2019/08/07 职场文书
Python使用DFA算法过滤内容敏感词
2022/04/22 Python
css中有哪些方式可以隐藏页面元素及区别
2022/06/16 HTML / CSS
MySQL一劳永逸永久支持输入中文的方法实例
2022/08/05 MySQL
微软Win11 全新照片应用面向 Dev预览版推出 新版本上手体验图集
2022/09/23 数码科技