Enr*_*rba 4 python set subset python-3.x
我如何s在python中获得一组的随机子集?我试过了
from random import sample, randint
def random_subset(s):
length = randint(0, len(s))
return set(sample(s, length))
Run Code Online (Sandbox Code Playgroud)
但我现在认识到,这显然是行不通的,因为分布len(s)在那里s是一个随机子集是不统一的0到n.
我敢肯定我可以计算这个分布并使用numpy的样本概率,或类似的东西,但我最喜欢的东西最好用纯python.
我刚刚意识到我可以简单地浏览每个元素s并独立决定是否保留它.像这样的东西
from random import randint
def random_subset(s):
out = set()
for el in s:
# random coin flip
if randint(0, 1) == 0:
out.add(el)
return out
Run Code Online (Sandbox Code Playgroud)
这具有正确的分布.
| 归档时间: |
|
| 查看次数: |
476 次 |
| 最近记录: |