gpt4 book ai didi

python - 元组列表的随机抽样

转载 作者:行者123 更新时间:2023-12-04 12:27:22 31 4
gpt4 key购买 nike

我有一个由“12 个 3 组合”创建的 220 个元组的列表。 Python 中有没有办法从这个元组列表中采样,这样我选择的每个样本都包含集合中的所有 12 个元素?
例如,如果集合是 [a,b,c,d,e,f,g,h,i,j,k,l],则随机选择应该看起来像 [(a,b,c), (d ,e,f), (g,h,i), (j,k,l)]。我尝试了以下

for y in range(4): 
for x in range(2):
print(random.sample(list, 4))
但是很多样本并不具备母集的所有元素。

最佳答案

混洗原始集合/列表,然后从该混洗列表中取出 3 元组怎么样?

import random

lst = range(12) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

lst_shuffle = random.sample(lst, k=len(lst)) # shuffle the list
smp = [tuple(lst_shuffle[i:i+3]) for i in range(0, len(lst_shuffle), 3)] # make chunks
print(smp) # e.g., [(0, 2, 10), (3, 5, 4), (11, 7, 8), (1, 9, 6)]
我相信这在概率上等效的同时更节省内存。

关于python - 元组列表的随机抽样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69694003/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com