Форум сайта python.su
Всем привет
Есть такой код
matrix = [, , ]
permut_result_iter = itertools.product(*matrix)
permut_result = list(permut_result_iter)
permut_result_add =
print(permut_result_add)
Всё работает прекрасно, но если сделать matrix размером 30х30 элементов, питон не вывозит и валица с сообщением
Process finished with exit code 137 (interrupted by signal 9: SIGKILL)
Погуглил, говорят, это из-за list(permut_result_iter), типа получается слишком большой массив и процесс умирает из-за нехватки памяти или типа того.
Как можно решить эту проблему?
Офлайн
А ты уверен что тебе нужен список в котором 205891132094649000000000000000000000000000000 картежей?
Офлайн
Это генератор названий для каталога товаров. Сгенерированные названия надо вывести на веб страницу (торнадо шаблон) и выкинуть в эксель.
Так что да, нужен. Ну либо надо как-то разбить его на несколько списков, но как это сделать у меня нет идей
Офлайн
Зачем тебе 205891132094649000000000000000000000000000000 наименований?
Офлайн
Дано, таблица составных частей наименований
[
,
,
]
Надо сгенерить все возможное наименования товаров.
a1b1c1 a1 b1 c1
a1b1c2 a1 b1 c2
a1b1c3 a1 b1 c3
a1b2c1 a1 b2 c1
a1b2c2 a1 b2 c2
и тд
В тепличных условия 3х3 всё работает. Но в реале кол-во столбцов может доходить до 20, а строк до 100. Так что да. мне нужен этот большой список.
Мне необязательно держать его в памяти, надо отрендеритть на html-шаблоне и выкинуть в эксель. но как это сделать не приводя генератор к листу я не знаю
Офлайн
У тебя места на диске не хватит что бы этот HTML записать.
Офлайн
хм, а как тогда быть?
Офлайн
frostspb
Дружище, ну если бы программирование сводилось бы к знанию синтаксиса языка, то мы бы были дико задемпингованы школотой всех мастей. Как быть? Изучать науку, которую пять лет преподают в университете. Алгоритмы, структуры данных, всякая там магия математики. Ну о чем с тобой говорить, если ты не вкуриваешь алгоритмическую сложность декартова произведения?
Офлайн
frostspb
хм, а как тогда быть?
Rodegast:) :) Это несколько преуменьшено. Если верить вычислениям, то надо собрать несколько терабайтных винчестеров, точнее из терабайтных винчестеров надо собрать кучу массой в несколько сот масс солнца.
У тебя места на диске не хватит что бы этот HTML записать.
Отредактировано doza_and (Авг. 5, 2017 19:10:02)
Офлайн
frostspbНужно понять, зачем тебе сохранять все эти комбинации, что ты собрался с ними делать дальше.
хм, а как тогда быть?
Офлайн