如果此数组中的值可以介于0到255之间,则如何在Python中生成2d数组的所有可能组合

时间:2018-11-17 23:06:21

标签: python arrays itertools

所以我有一个空的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?如果是的话,我该怎么做

1 个答案:

答案 0 :(得分:1)

您在此处请求的组合数量为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 */

并随机采样状态。