python - 从有条件的列表中随机选择数字
问题描述
我有一个list(range(30000))
. 我需要在其中随机选择数字,这样,它'n'
总共需要一定数量的数字,同时它应该'k'
在两个索引位置之间获取值的数量。
例如:
a = [1,2,3,4,5,,6,7,8......20,21,22......88,89.....30k]
我需要选择5000
总共的数字。'x'
之间的数字,之间0th index to 100th index
的'y'
数字100 to 200
等。
没有硬性规定它应该5000
自己选择数字。但它应该肯定介于0-100, 100-200
等之间。
我看到了,random.choice
但是如何给它一个条件
准确地提出问题:我需要50
来自0-100,200-300 etc.
解决方案
这是解决此问题的一种方法:
import random
# define the sample size of each interval
# or for your specific case generate a sequence
# that adds up to 5000
size = [5, 2, 10]
n = 300
step = 100
# iterate over both a range (or sequence) and size
# and take random samples accordingly
out = [random.sample(list(range(i-step,i)), k)
for i, k in zip(range(step, n+step, step), size)]
print(out)
[[6, 86, 96, 62, 53], [115, 176], [245, 259, 297, 249, 225, 281, 264, 274, 275, 206]]
推荐阅读
- reactjs - test.each、act 和 render 的组合在运行测试时会产生警告
- sql - 根据多个表中的单个或多个列查找重复记录的计数和列表
- python - 烧瓶在哪里存储用于密码恢复的令牌?
- asp.net-mvc - 从 IdentityServer 注销后重定向回 ASP.NET Mvc 客户端
- vue.js - Vuejs - 试图在我的路由器中获取更新的 store.state 数据
- python - (Django) 'CommentView' 对象没有属性 'body'
- javascript - 在 javascript 中按索引访问 html 集合时显示未定义
- python - 使用 tfx 运行多个训练器时出现 Kubeflow Pipeline RuntimeError
- python - 具有较低的Python拆分方法
- c# - 如何防止 .NET Core 中的 MySqlConnector 类出现错误 CS0433?