python - 如果该数组中的值可以在 0 到 255 之间,如何在 Python 中生成二维数组的所有可能组合
问题描述
所以我有一个空的 4*4 数组,其中的值可以在 0 到 255 之间,我想生成这个数组的所有可能状态,例如,其中一个状态是:
[0, 0, 0, 0]
[0, 0, 0, 0]
[0, 0, 0, 0]
[0, 0, 0, 0]
另一个是:
[245, 241, 124, 53]
[124, 11, 45, 31]
[44, 0, 124, 3]
[1, 30, 123, 31]
可以用itertools吗?如果是,我该怎么做
解决方案
您在此处请求的组合数量255^16=3.1962658*10^38
是一个非常大的数字。
假设 1TB = 10^12 字节,CPU 的时钟频率为 4GHz,则需要像方糖中的分子数量一样的存储设备数量和 100 亿倍的宇宙年龄来获取并列出所有这些设备!
简而言之:你不能。
你可以做类似的事情
import numpy as np
i=0
while i < 10000:
currentstate=256*np.floor(np.rand(4,4))
/* ... do something with current state */
并随机抽样状态。
推荐阅读
- sql-server - MS SQL 可用性组故障转移行为?
- python - 是否有使用 Python 和请求对网站进行身份验证的通用说明?
- youtube - 就像没有 API 密钥的 Youtube 视频一样?
- typescript - 编译后出现TypeScript错误但编译前没有错误
- laravel - Axios 在 Laravel 的 Vue 组件访问数据时给出 undefined
- c++ - 多行字符串上的 QRegularExpression 匹配不起作用
- excel - Workbook.Open 找不到文件
- java - 如何在 Spring Boot 应用程序的请求范围 Bean 中设置值
- swift - X-CallBack 是否在后台线程中工作?
- html - 动画元素在外观上平滑淡入,但在消失时立即隐藏