在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通过floor函数舍弃小数位的方法
Mar 17 Python
使用Python来编写HTTP服务器的超级指南
Feb 18 Python
Numpy中转置transpose、T和swapaxes的实例讲解
Apr 17 Python
Python 实现一行输入多个值的方法
Apr 21 Python
浅析Python数据处理
May 02 Python
Python3实现腾讯云OCR识别
Nov 27 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
Feb 13 Python
Python中super函数用法实例分析
Mar 18 Python
numpy中生成随机数的几种常用函数(小结)
Aug 18 Python
Python类绑定方法及非绑定方法实例解析
Oct 09 Python
python opencv角点检测连线功能的实现代码
Nov 24 Python
python中pandas.read_csv()函数的深入讲解
Mar 29 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
Syphon 虹吸式咖啡壶冲煮–拨动法
2021/03/03 冲泡冲煮
PHP中文URL编解码(urlencode()rawurlencode()
2010/07/03 PHP
解析如何屏蔽php中的phpinfo()函数
2013/06/06 PHP
PHP中使用BigMap实例
2015/03/30 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
2017/08/17 PHP
基于php双引号中访问数组元素报错的解决方法
2018/02/01 PHP
JS解密入门 最终变量劫持
2008/06/25 Javascript
基于jquery可配置循环左右滚动例子
2011/09/09 Javascript
js三种排序算法分享
2012/08/16 Javascript
javascript动态添加、修改、删除对象的属性与方法详解
2014/01/27 Javascript
JavaScript的9种继承实现方式归纳
2015/05/18 Javascript
jQuery前端开发35个小技巧
2016/05/24 Javascript
JavaScript拖动层Div代码
2017/03/01 Javascript
DataTables添加额外的查询参数和删除columns等无用参数实例
2017/07/04 Javascript
[45:59]EG vs OG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
2016/05/17 Python
5个很好的Python面试题问题答案及分析
2018/01/19 Python
用十张图详解TensorFlow数据读取机制(附代码)
2018/02/06 Python
Python将list中的string批量转化成int/float的方法
2018/06/26 Python
Flask-Mail用法实例分析
2018/07/21 Python
python3 pygame实现接小球游戏
2019/05/14 Python
Python对接 xray 和微信实现自动告警
2019/09/17 Python
wxPython:python首选的GUI库实例分享
2019/10/05 Python
详解Python中的format格式化函数的使用方法
2019/11/20 Python
Python叠加矩形框图层2种方法及效果
2020/06/18 Python
西班牙电子产品购物网站:Electronicamente
2018/07/26 全球购物
Audible英国:有声读物,30天免费试用
2019/10/16 全球购物
西班牙品牌鞋子、服装和配饰在线商店:Esdemarca
2021/02/17 全球购物
军神教学反思
2014/02/04 职场文书
个人近期表现材料
2014/02/11 职场文书
计算机网络专业自荐书
2014/06/09 职场文书
2014年军人思想汇报范文
2014/10/12 职场文书
2019餐饮行业创业计划书!
2019/06/27 职场文书
30岁前绝不能错过的10本书
2019/08/08 职场文书
JavaCV实现照片马赛克效果
2022/01/22 Java/Android
如何使用注解方式实现 Redis 分布式锁
2022/07/23 Redis