python - 如何制作随机唯一元组列表?

标签 python python-3.x random tuples unique

我查看了几个与此问题类似的答案,似乎所有答案都很好,但仅处理通过删除重复项使列表唯一的事实。我需要列表恰好有 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/

相关文章:

python - 从分层索引 Pandas 的级别删除重复项

python - 网站提交按钮本地化时使用 Twill 的提交功能(Python)

python - 将变量名转换为字符串?

python - 使用 Matplotlib 创建相邻图

python - 带有一行数据的 Pandas read_csv() 返回 Empty Dataframe

python - 我如何在 Django 中获取多对多关系表数据?

python-3.x - 通过 Selenium 在 Chrome 上打开检查(按 F12)

JavaScript 通过递归实现随机数

c++ - 以伪随机顺序遍历列表而不存储打乱的列表

python - 生成复制任意分布的随机数