在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中实现一个高性能计数器(Counter)实例
Jul 09 Python
python sort、sorted高级排序技巧
Nov 21 Python
python实现读Excel写入.txt的方法
Apr 29 Python
Python实现将Excel转换成为image的方法
Oct 23 Python
对python3.4 字符串转16进制的实例详解
Jun 12 Python
python实现本地批量ping多个IP的方法示例
Aug 07 Python
OpenCV模板匹配matchTemplate的实现
Oct 18 Python
如何使用repr调试python程序
Feb 28 Python
keras实现VGG16 CIFAR10数据集方式
Jul 07 Python
python用Tkinter做自己的中文代码编辑器
Sep 07 Python
Python实现列表索引批量删除的5种方法
Nov 16 Python
Python之字符串的遍历的4种方式
Dec 08 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
ThinkPHP基于PHPExcel导入Excel文件的方法
2014/10/15 PHP
PHP中的print_r 与 var_dump 输出数组
2016/06/13 PHP
PHP有序表查找之二分查找(折半查找)算法示例
2018/02/09 PHP
基于jQuery制作迷你背词汇工具
2010/07/27 Javascript
javascript获取作用在元素上面的样式属性代码
2012/09/20 Javascript
javascript自动给文本url地址增加链接的方法分享
2014/01/20 Javascript
javascript 回到顶部效果的实现代码
2014/02/17 Javascript
js获取判断上传文件后缀名的示例代码
2014/02/19 Javascript
把jQuery的类、插件封装成seajs的模块的方法
2014/03/12 Javascript
jquery实现表格本地排序的方法
2015/03/11 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
2015/03/25 Javascript
设置点击文本框或图片弹出日历控件的实现代码
2016/05/12 Javascript
angularJS 指令封装回到顶部示例详解
2017/01/22 Javascript
socket.io学习教程之基本应用(二)
2017/04/29 Javascript
基于vue.js路由参数的实例讲解——简单易懂
2017/09/07 Javascript
微信小程序实现长按删除图片的示例
2018/05/18 Javascript
微信小程序实现的一键复制功能示例
2019/04/24 Javascript
JavaScript中this的全面解析及常见实例
2019/05/14 Javascript
微信小程序实现上传多个文件 超过10个
2020/03/30 Javascript
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
2014/10/23 Python
Python 基础教程之包和类的用法
2017/02/23 Python
Python基于plotly模块实现的画图操作示例
2019/01/23 Python
Python监控服务器实用工具psutil使用解析
2019/12/19 Python
瑞典Happy Socks美国官网:购买色彩斑斓的快乐袜子
2016/10/19 全球购物
网络艺术零售业的先驱者:artrepublic
2017/09/26 全球购物
Feelunique德国官方网站:欧洲最大的在线美容零售商
2019/07/20 全球购物
SHEIN美国:购买时髦的女性服装
2020/12/02 全球购物
Hotels.com韩国:海外国内旅行所需的酒店和住宿预订网站
2020/05/08 全球购物
试述DBMS的主要功能
2016/11/13 面试题
党员干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
银行授权委托书格式
2014/10/10 职场文书
夫妻分居协议书范文
2014/11/26 职场文书
2015年度个人业务工作总结
2015/04/27 职场文书
文明礼仪倡议书
2015/04/28 职场文书
信访维稳承诺书
2015/05/04 职场文书
利用Python实时获取steam特惠游戏数据
2022/06/25 Python