在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字符串连接方式汇总
Aug 21 Python
Python性能优化技巧
Mar 09 Python
详解python使用Nginx和uWSGI来运行Python应用
Jan 09 Python
谈谈python中GUI的选择
Mar 01 Python
python之DataFrame实现excel合并单元格
Feb 22 Python
pycharm打开命令行或Terminal的方法
Jan 16 Python
python pandas生成时间列表
Jun 29 Python
Python with用法:自动关闭文件进程
Jul 10 Python
python按行读取文件并找出其中指定字符串
Aug 08 Python
使用sklearn的cross_val_score进行交叉验证实例
Feb 28 Python
python让函数不返回结果的方法
Jun 22 Python
Python中的协程(Coroutine)操作模块(greenlet、gevent)
May 30 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
在DC的漫画和电影中,蝙蝠侠的宿敌,小丑的真名是什么?
2020/04/09 欧美动漫
PHP laravel中的多对多关系实例详解
2017/06/07 PHP
基于PHP实现生成随机水印图片
2020/12/09 PHP
如何使用Javascript正则表达式来格式化XML内容
2013/07/04 Javascript
JavaScript中pop()方法的使用教程
2015/06/09 Javascript
JS Array创建及concat()split()slice()的使用方法
2016/06/03 Javascript
Javascript缓存API
2016/06/14 Javascript
jQuery实现鼠标滚动图片延迟加载效果附源码下载
2016/06/28 Javascript
jQuery Easyui Tabs扩展根据自定义属性打开页签
2016/08/15 Javascript
jQuery EasyUI 页面加载等待及页面等待层
2017/02/06 Javascript
JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)
2017/06/19 Javascript
js仿微信抢红包功能
2020/09/25 Javascript
Node实战之不同环境下配置文件使用教程
2018/01/02 Javascript
Angularjs实现页面模板清除的方法
2018/07/20 Javascript
如何通过setTimeout理解JS运行机制详解
2019/03/23 Javascript
详解原生JS动态添加和删除类
2019/03/26 Javascript
页面内锚点定位及跳转方法总结(推荐)
2019/04/24 Javascript
vscode 调试 node.js的方法步骤
2020/09/15 Javascript
vue中是怎样监听数组变化的
2020/10/24 Javascript
[43:24]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS Liquid
2018/03/30 DOTA
[33:23]VG vs Pain 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python实现list元素按关键字相加减的方法示例
2017/06/09 Python
利用rest framework搭建Django API过程解析
2019/08/31 Python
python中property和setter装饰器用法
2019/12/19 Python
用python3读取python2的pickle数据方式
2019/12/25 Python
Python求两个字符串最长公共子序列代码实例
2020/03/05 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
2020/03/18 Python
Python 如何操作 SQLite 数据库
2020/08/17 Python
python如何绘制疫情图
2020/09/16 Python
利用Python如何画一颗心、小人发射爱心
2021/02/21 Python
利用html5 canvas破解简单验证码及getImageData接口应用
2013/01/25 HTML / CSS
Html5在手机端调用相机的方法实现
2020/05/13 HTML / CSS
文科生自我鉴定
2014/02/15 职场文书
暑期家教宣传单
2015/07/14 职场文书
带你了解CSS基础知识,样式
2021/07/21 HTML / CSS
Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解
2022/08/14 Python