-1

私が持っているすべての順列とリストのリストの組み合わせが必要です。itertools.product順列の計算に使用していますが、コンピューターが無期限にハングします。何が間違っているのでしょうか?

import itertools

#Lists of all the possible dimensions
upperchest_dim=range(32,52,1)
upperback_dim=range(32,52,1)
chest_dim=range(32,52,1)
waist_dim=range(32,52,1)
hip_dim=range(32,52,1)
bicep_dim=range(32,52,1)
elbow_dim=range(32,52,1)
thigh_dim=range(32,52,1)
knee_dim=range(32,52,1)
calf_dim=range(32,52,1)
height_dim=range(32,52,1)

#List of lists total
dimensions=[upperchest_dim,upperback_dim,chest_dim,waist_dim,hip_dim,bicep_dim,elbow_dim,thigh_dim,knee_dim,calf_dim,height_dim]

#Generate permutations of all the dimensions
print list(itertools.product(*dimensions))

にはlist(itertools.product(*dimensions))、すべての次元で可能なすべての一意の順列が含まれている必要があります。

-- 編集: 何か間違ったことをしていると思います。たとえば [32,33,34,45,34,23,42,43,43,45,33] のように、すべての一意のディメンションを含むリストのリストが必要です。これは 1 つの体型を表すため、もう一度リストします。

4

3 に答える 3

0

最後の行で行う場合

for d in itertools.product(*dimensions): print(d)

印刷が始まります

... (32, 32, 32, 32, 32, 32, 32, 33, 37, 47, 45) (32, 32, 32, 32, 32, 32, 32, 33, 37, 47, 46) (32, 32, 32, 32, 32, 32, 32, 33, 37, 47, 47) (32, 32, 32, 32, 32, 32, 32, 33, 37, 47, 48) ...

したがって、「何も」が間違っていません。結果のリストは非常に大きく、一度に計算することはできません。

于 2013-10-25T12:07:43.897 に答える