在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脚本实现下载合并SAE日志
Feb 10 Python
python每隔N秒运行指定函数的方法
Mar 16 Python
Python 删除连续出现的指定字符的实例
Jun 29 Python
在python环境下运用kafka对数据进行实时传输的方法
Dec 27 Python
Python3.5实现的罗马数字转换成整数功能示例
Feb 25 Python
浅谈python的深浅拷贝以及fromkeys的用法
Mar 08 Python
selenium获取当前页面的url、源码、title的方法
Jun 12 Python
用python3 urllib破解有道翻译反爬虫机制详解
Aug 14 Python
Python 多线程,threading模块,创建子线程的两种方式示例
Sep 29 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
Oct 12 Python
Requests什么的通通爬不了的Python超强反爬虫方案!
May 20 Python
Python tensorflow卷积神经Inception V3网络结构
May 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 urlencode()与urldecode()函数字符编码原理详解
2011/12/06 PHP
PHP获取二维数组中某一列的值集合
2015/12/25 PHP
浅谈PHP中的错误处理和异常处理
2017/02/04 PHP
thinkPHP实现的省市区三级联动功能示例
2017/05/05 PHP
PHP vsprintf()函数格式化字符串操作原理解析
2020/07/14 PHP
jQuery 版本的文本输入框检查器Input Check
2009/07/09 Javascript
jquery表单验证使用插件formValidator
2012/11/10 Javascript
jquery提示效果实例分析
2014/11/25 Javascript
javascript的日期对象、数组对象、二维数组使用说明
2014/12/22 Javascript
js实现的黑背景灰色二级导航菜单效果代码
2015/08/24 Javascript
简单学习JavaScript中的for语句循环结构
2015/11/10 Javascript
JavaScript 模块的循环加载实现方法
2015/12/13 Javascript
JS获取和修改元素样式的实例代码
2016/08/06 Javascript
js 上传文件预览的简单实例
2016/08/16 Javascript
Bootstrap select下拉联动(jQuery cxselect)
2017/01/04 Javascript
vue如何引用其他组件(css和js)
2017/04/13 Javascript
Layui Table js 模拟选中checkbox的例子
2019/09/03 Javascript
vue项目中常见问题及解决方案(推荐)
2019/10/21 Javascript
[01:28:31]《加油DOTA》真人秀 第五期
2014/09/01 DOTA
详谈套接字中SO_REUSEPORT和SO_REUSEADDR的区别
2018/04/28 Python
浅谈Django中的数据库模型类-models.py(一对一的关系)
2018/05/30 Python
python如何以表格形式打印输出的方法示例
2019/06/21 Python
python神经网络编程实现手写数字识别
2020/05/27 Python
浅谈PyTorch中in-place operation的含义
2020/06/27 Python
Python字符串函数strip()原理及用法详解
2020/07/23 Python
用CSS3实现Win8风格的方格导航菜单效果
2013/04/10 HTML / CSS
HTML5触摸事件(touchstart、touchmove和touchend)的实现
2020/05/08 HTML / CSS
Tomcat的缺省是多少,怎么修改
2014/04/09 面试题
助人为乐表扬信范文
2014/01/14 职场文书
运动会开幕式邀请函
2014/01/22 职场文书
幼儿教师师德承诺书
2014/05/23 职场文书
管理提升方案
2014/06/04 职场文书
整改落实自查报告
2014/11/05 职场文书
2015入党自荐书范文
2015/03/05 职场文书
2016年优秀党务工作者先进事迹材料
2016/02/29 职场文书
PYTHON基于Pyecharts绘制常见的直角坐标系图表
2022/04/28 Python