我查看了几个与此问题类似的答案,似乎所有答案都很好,但仅处理通过删除重复项使列表唯一的事实。我需要列表恰好有 5 个。
我唯一能想出的代码是这样的:
from random import *
tuples = []
while len(tuples) < 5:
rand = (randint(0, 6), randint(0,6))
if rand not in tuples:
tuples.append(rand)
我觉得有更简单的方法,但我想不出来。我尝试随机播放 sample() :
sample((randint(0,6), randint(0,6)), 5)
但这给了我一个“样本大于总体或为负数”的错误。
最佳答案
一种快速的方法是使用 itertools.product
生成所有可能的元组,然后使用 sample
从中选择 5 个:
from itertools import product
from random import sample
sample(list(product(range(7), repeat=2)), k=5)
关于python - 如何制作随机唯一元组列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60641177/