Skip to main content
 首页 » 编程设计

python之将用户按照80%的百分比随机分成两组 :20

2025年05月04日13dflying

我有一个名为用户的 ID 列表,我想按 80:20 的百分比将它们随机分成两组。

例如我有一个包含 100 个用户 ID 的列表,随机将 80 个用户放入 group1,其余 20 个放入 group2

 def getLevelForIncrementality(Object[] args) { 
   try { 
     if (args.length >= 1 && args[0]!="") { 
        String seed = args[0] + "Testing"; 
        int rnd = Math.abs(seed.hashCode() % 100); 
        return (rnd >= 80 ? 2 : 1); 
     } 
  } catch (Exception e) { } 
 return 3; 
} 

我已经尝试了上面的 groovy 代码,它给出了 82:18 的比例。

有人可以给我一些见解或建议或算法来解决数百万用户 ID 的上述问题。

请您参考如下方法:

您可以使用 random.sample随机提取所需数量的元素:

import random 
 
a = list(range(1000)) 
 
b = random.sample(a, int(len(a) * 0.8)) 
len(b) 

800

如果您有唯一的 ID,您可以尝试将这些 ID 列表转换为集合并像这样区分它们:

c = list(set(a) - set(b))