按时间顺序生成随机次数范围内的数字样本

generate sample of numbers within range random amount of times in chronological order

我有一个包含 5000 个 ID 的列表,我想生成一个介于

之间的数字
ids = range(1,5000)
ids = list(itertools.chain.from_iterable(itertools.repeat(x, 1) for x in ids)) 

我想添加一个新列,其中的数字按时间顺序排列在每个 ID 1 到 50 之间。该数字应该出现半随机的次数,例如像这样

预期的输出应该类似于


a = [1] * 10
b = [2] * 32
c = [3] * 98
d = [4] * 239
e = [5] * 187
.... 
xx = [50] * 2876

但我相信一定有更好的方法

谢谢!

我无法完全理解你的问题,但我有一段代码是我根据我的理解编写的。

import random
random_list =[]
for i in range(1,51):
    ids = random.randint(1,5001)
    random_list.append(ids)
    random_list.sort()
print (random_list)
for j in range(0,50):
    
    print(f"[{j+1}] * {random_list[j]}")