在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 相关文章推荐
在 Django/Flask 开发服务器上使用 HTTPS
Jul 03 Python
python实现的jpg格式图片修复代码
Apr 21 Python
利用django如何解析用户上传的excel文件
Jul 24 Python
Python字典及字典基本操作方法详解
Jan 30 Python
python getpass模块用法及实例详解
Oct 07 Python
基于python使用tibco ems代码实例
Dec 20 Python
在python中logger setlevel没有生效的解决
Feb 21 Python
python实现音乐播放和下载小程序功能
Apr 26 Python
Django def clean()函数对表单中的数据进行验证操作
Jul 09 Python
在Django中使用MQTT的方法
May 10 Python
Django如何创作一个简单的最小程序
May 12 Python
baselines示例程序train_cartpole.py的ImportError
May 20 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 数据库树的遍历方法
2009/02/06 PHP
php中3种方法统计字符串中每种字符的个数并排序
2012/08/27 PHP
解析百度搜索结果link?url=参数分析 (全)
2012/10/09 PHP
解析php获取字符串的编码格式的方法(函数)
2013/06/21 PHP
通过table标签,PHP输出EXCEL的实现方法
2013/07/24 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
2014/01/14 PHP
thinkphp整合微信支付代码分享
2016/11/24 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
php根据命令行参数生成配置文件详解
2019/03/15 PHP
浅析PHP中json_encode与json_decode的区别
2020/07/15 PHP
JavaScript判断变量是否为undefined的两种写法区别
2013/12/04 Javascript
javascript转换静态图片,增加粒子动画效果
2015/05/28 Javascript
js中 javascript:void(0) 用法详解
2015/08/11 Javascript
使用JQuery 加载页面时调用JS的实现方法
2016/05/30 Javascript
详解Node.Js如何处理post数据
2016/09/19 Javascript
WebView启动支付宝客户端支付失败的问题小结
2017/01/11 Javascript
前端页面文件拖拽上传模块js代码示例
2017/05/19 Javascript
node使用UEditor富文本编辑器的方法实例
2017/07/11 Javascript
node.js使用fs读取文件出错的解决方案
2019/10/23 Javascript
vue组件中实现嵌套子组件案例
2020/08/31 Javascript
jQuery+ajax实现用户登录验证
2020/09/13 jQuery
[03:12]完美世界DOTA2联赛PWL DAY9集锦
2020/11/10 DOTA
python创建只读属性对象的方法(ReadOnlyObject)
2013/02/10 Python
列举Python中吸引人的一些特性
2015/04/09 Python
python负载均衡的简单实现方法
2018/02/04 Python
Python实现去除图片中指定颜色的像素功能示例
2019/04/13 Python
python字典一键多值实例代码分享
2019/06/14 Python
Django 设置多环境配置文件载入问题
2020/02/25 Python
浅析python字符串前加r、f、u、l 的区别
2021/01/24 Python
香港万宁官方海外旗舰店:香港健与美连锁店
2018/09/27 全球购物
公共场所标语
2014/06/30 职场文书
欢迎新生标语2015
2015/07/16 职场文书
JAVA API 实用类 String详解
2021/10/05 Java/Android
Java练习之潜艇小游戏的实现
2022/03/16 Java/Android
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server
zabbix如何添加监控主机和自定义监控项
2022/08/14 Servers