-
潇湘沐
我相信您需要使用随机包中的函数choices,您只是缺少“s”!此外,您还需要添加k参数来说明您想要采样多少个值:values = [1,2,3,4,5]
print(random.choices(values,k=10))输出:[2, 1, 4, 2, 2, 4, 1, 2, 1, 4]在您的示例中,您需要将 k 固定为 100。
-
芜湖不芜
使用random.choices:from random import choices
rand_list = choices(range(1,6),k=100)这k是随机数的数量。
-
饮歌长啸
random.choices正是您所需要的:from random import choices
rand_list = choices(range(1, 6), k=100)
-
蝴蝶不菲
print(list(random.choices([1, 2, 3, 4, 5], k=100)))
-
慕虎7371278
你可以使用理解rand_list = [(random.randrange(5) + 1) for x in range(100)]如果您有较重的函数(可能是复杂的哈希或返回极大的值),则可以使用生成器延迟值的创建。这可以节省内存并允许在创建整个列表之前进行处理。您可以在对值进行计数后中断,或者如果只需要特定数量(而不是连续过程),则可以迭代其中的一部分。import itertoolsimport randomdef gen(): while True: yield random.randrange(5) + 1max_iterations = 100for value in itertools.islice(gen(), max_iterations): do_some_opertation(value)