004_021 Python 以指定的概率获取元素 以一个列表为基准概率,从一个列表中随机获取元素
2014-03-31 22:40
344 查看
代码如下:
打印结果如下:
中国
1
table2
[1, 1, 1, 2, 3, 3, 3, 3, 4, 4]
4
#encoding=utf-8 print '中国' #以指定的概率获取元素 以一个列表为基准概率,从一个列表中随机获取元素 import random def random_pick(some_list, probabilities): x = random.uniform(0,1) cumulative_probability = 0.0 for item, item_probability in zip(some_list, probabilities): cumulative_probability += item_probability if x < cumulative_probability:break return item some_list = [1,2,3,4] probabilities = [0.2,0.1,0.6,0.1] print random_pick(some_list,probabilities) #根据权重来获取 核心在于权重乘以 就相当于次数 def random_pick_odd(some_list, odds): print 'table2' table = [z for x,y in zip(some_list,odds) for z in [x] * y] print table return random.choice(table) some_list = [1,2,3,4] odds=[3,1,4,2] print random_pick_odd(some_list,odds) #for item in random_picks()
打印结果如下:
中国
1
table2
[1, 1, 1, 2, 3, 3, 3, 3, 4, 4]
4
相关文章推荐
- Python 列表如何获得一个指定元素所在的下标
- Python 以指定概率获取元素
- Python:将一维列表的元素合并为一个字符串
- 004_012 Python 将列表中的元素交替的作为键和值来创建字典
- 随机获取一个集合(List, Set)中的元素,随机获取一个Map中的key或value
- 使用Python脚本获取指定格式文件列表的方法
- python获取指定目录下所有文件名列表的方法
- 写一个函数,随机地从大小为n的数组中选取m个整数。要求每个元素被选中的概率相等。
- python中获取指定目录下所有文件名列表的程序
- python 获取n天前的日期列表、获取指定日期n天前的日期
- python-列表删除所有指定元素
- 编写程序,生成一个包含20个随机整数的列表,然后对其中偶数下标的元素进行降序排列,基数下标的元素不变
- python - 列表分组技巧 #写出一段 Python 代码,实现分组一个 list 里面的元素,如 [1,2,3,...100]变成 [[1,2,3],[4,5,6]....]
- 使用Jquery随机删除一个顺序列表中某个子元素的方法,保持效果统一性
- 当一个页面中有多个form表单并且有重名的元素时,js获取指定form表单中的指定元素
- jmeter使用Beanshell预处理器从指定列表中获取随机值
- c# 按给定概率随机选择列表元素
- java 程序里如何实现从一个列表中拖动一个元素到另一个列表中?
- python打印列表中指定元素的所有下标(5种方法)
- Python中二维列表如何获取子区域元素的组成