生成 3 个数字的列表,最多 2 个重复

Jac*_*kie 2 python random python-3.x

如何在 0 到 5(含)之间生成 3 个随机数,其中最多可以有 2 个重复

所以我可以生成的列表可以是:

a = [0, 4, 2]
b = [5, 1, 4]
c = [5, 5, 3]
d = [2, 3, 2]
Run Code Online (Sandbox Code Playgroud)

它无法生成如下列表:

a = [4, 4, 4]
Run Code Online (Sandbox Code Playgroud)

Exe*_*ian 5

我建议创建一个不超过 2 个重复项的列表并对其进行采样:

import random

numbers = list(range(6)) * 2
print(random.sample(numbers, 3))
Run Code Online (Sandbox Code Playgroud)