在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 Web框架Pylons中使用MongoDB的例子
Dec 03 Python
Python使用matplotlib填充图形指定区域代码示例
Jan 16 Python
TensorFlow实现非线性支持向量机的实现方法
Apr 28 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
Feb 20 Python
python实现矩阵打印
Mar 02 Python
简单了解Django应用app及分布式路由
Jul 24 Python
python双向链表原理与实现方法详解
Dec 03 Python
django框架中ajax的使用及避开CSRF 验证的方式详解
Dec 11 Python
python中设置超时跳过,超时退出的方式
Dec 13 Python
Python selenium的基本使用方法分析
Dec 21 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
Jun 02 Python
Scrapy实现模拟登录的示例代码
Feb 21 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
《星际争霸II》全新指挥官斯台特曼现已上线
2020/03/08 星际争霸
十天学会php之第九天
2006/10/09 PHP
PHP 生成N个不重复的随机数
2015/01/21 PHP
对比分析php中Cookie与Session的异同
2016/02/19 PHP
laravel-admin的多级联动方法
2019/09/30 PHP
JQUERY THICKBOX弹出层插件
2008/08/30 Javascript
ExtJS 2.2.1的grid控件在ie6中的显示问题
2009/05/04 Javascript
基于JavaScript 数据类型之Boolean类型分析介绍
2013/04/19 Javascript
AngularJS语法详解(续)
2015/01/23 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
iview Upload组件多个文件上传的示例代码
2018/09/30 Javascript
webpack打包多页面的方法
2018/11/30 Javascript
JS实现在线ps功能详解
2019/07/31 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
2019/11/21 Javascript
Vue中import from的来源及省略后缀与加载文件夹问题
2020/02/09 Javascript
vuex实现购物车的增加减少移除
2020/06/28 Javascript
python统计文章中单词出现次数实例
2020/02/27 Python
Python+OpenCV实现图像的全景拼接
2020/03/05 Python
在spyder IPython console中,运行代码加入参数的实例
2020/04/20 Python
python如何编写win程序
2020/06/08 Python
使用Nibabel库对nii格式图像的读写操作
2020/07/01 Python
vue.js刷新当前页面的实例讲解
2020/12/29 Python
前端实现打印图像功能
2019/08/27 HTML / CSS
Clearly新西兰:购买眼镜、太阳镜和隐形眼镜
2018/04/26 全球购物
结婚周年感言
2014/02/24 职场文书
信息技术课后反思
2014/04/27 职场文书
李敖北大演讲稿
2014/05/24 职场文书
宣传口号大全
2014/06/16 职场文书
硕士生找工作求职信
2014/07/05 职场文书
银行先进个人总结
2015/02/15 职场文书
大学毕业晚会开场白
2015/05/29 职场文书
党员发展大会主持词
2015/07/03 职场文书
2015年国庆节新闻稿
2015/07/18 职场文书
golang DNS服务器的简单实现操作
2021/04/30 Golang
Oracle用户管理及赋权
2022/04/24 Oracle