python - 如何在python中生成数组的排列?

标签 python permutation

我有一个包含 27 个元素的数组,我不想生成数组的所有排列(27 个!) 我需要 5000 个随机选择的排列,任何提示都会很有用...

最佳答案

要生成一个排列,请使用 random.shuffle并存储结果的副本。在循环中重复此操作,每次检查是否有重复项(但可能不会有任何重复项)。一旦您的结果集中有 5000 个项目,请停止。

为了解决注释中的问题,Python 的 random module基于 Mersenne Twister并且句号为2**19937-1,比27!要大很多,应该适合你使用。

关于python - 如何在python中生成数组的排列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2124347/

相关文章:

Python 子进程将输出返回为 stderr

python - `argparse` 多选参数?

Python:在 pytest 中比较两个 JSON 对象

r - 用 6 种不同的方式列出 3 个数字的组合?

python - 自定义异常中的默认消息 - Python

python - 在C或其他编译器语言之前学习Python是一个好主意吗?

java - 排列、递归

performance - 通过数组操作高效搜索包含子排列的排列?

java - 计算没有两个相邻字符相同的所有排列

python - 需要帮助使排列更快