python - 如何定义具有所有可能数字组合的数组
问题描述
我想定义一个具有给定列数(假设 n = 5)的数组,并且在数组的每个单元格中,值可以是 0 或 1。我想创建所有可能的 1 和 0,这意味着,每一行将代表一个具有 n 个元素的可能向量。
换句话说,我希望表格看起来像这样:
我知道创建 1 和 0 的向量非常容易,但我如何确保向量不会在表中重复并且包含所有可能的组合(如果我的数学正确,表应该有 2**5 = 32 行)
我怎样才能在 Python 中做到这一点?非常感谢你
解决方案
使用 itertools 很容易:
itertools.product(*[[0, 1]] * 3)
结果是
[(0, 0, 0),
(0, 0, 1),
(0, 1, 0),
(0, 1, 1),
(1, 0, 0),
(1, 0, 1),
(1, 1, 0),
(1, 1, 1)]
推荐阅读
- python - Django:提交按钮被触发两次
- blazor - 使用 Blazor 单击提交后清除 InputFields
- javascript - 服务器端路由与带代理的前端路由
- react-native - 无法从 node_modules\uuidv4\build\lib\uuidv4.js 解析模块 util:在项目中找不到 util
- c++ - 为什么 MSVC 使用系统 DLL 而不是工具包 DLL?
- performance - 为什么我的网站只有在我第一次访问时才变慢?
- css - 三态关闭按钮
- api - 用于股票价格警报的 Discord Bot
- excel - Excel VBA Page-Setup - 添加 HPage-Breaks 后适合宽度的页面失去了它的价值
- docker - 配置 SSL 两个不同的容器。一个在 443 上。一个在非 443 上。两个 Nginx