Я хочу, чтобы все перестановки и комбинации списков списков, которые у меня есть, я использую itertools.product
для вычисления перестановки, но мой компьютер зависает в течение неопределенного времени. Что я могу делать неправильно?Перестановка списков списка python
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))
The list(itertools.product(*dimensions))
должны иметь все уникальные перестановки возможных для всех размеров.
- EDIT: Я думаю, что я делаю что-то неправильно. Я хочу список списков, который имеет все уникальные размеры, например [32,33,34,45,34,23,42,43,43,45,33] Это одно измерение, и результат не должен содержать этого точного снова, поскольку это представляет один тип тела.
Затем гнездо ваш 'list (itertools.product (* dimensions))' –
range (32, 52, 1) - 20 номеров. Вы получили 11 из них. что означает 20 ** 11 комбинаций, что составляет примерно 2. * 10 ** 14. Если вы используете int8 (что возможно, я думаю, в этом случае), вы используете 1 байт на номер. Это означает, что вам нужно 2 * 10 ** 5 Гб бара, чтобы сохранить все это. Что-то подсказывает мне, что у вас этого не так много. (Это все в предположении, что я понимаю ваш вопрос/код) – usethedeathstar
Хорошо, тогда я думаю, что я делаю что-то неправильно. Я хочу список списков, который имеет все уникальные размеры, например [32,33,34,45,34,23,42,43,43,45,33] Это одно измерение, и результат не должен содержать этот список еще раз. Я думаю, что у меня будет 4400 таких размеров (20 * 11 * 20). Th – rajat