#python
#питон
Вопрос:
Позвольте мне иметь произвольный список положительных целых чисел:
[2, 2, 3, 5]
Мне нужно написать код, который сгенерирует мне список всех произведений этих целых чисел, перечисленных следующим образом:
1111, ..., 1115, 1121, ..., 1125, ... 1135, 1235, 2235.
Как мне это сделать?
Комментарии:
1. Что вы имеете в виду варианты?
2. Откуда берется цифра 1?
3. В каком смысле это
1111
«вариант»[2, 2, 3, 5]
?4. посмотрите на пакет itertools
5. а) Четко сформулируйте вопрос, т. Е. Определите «вариант». б) Отправьте нам свой код на данный момент и укажите, что в нем не так. Или же это заслуживает того, чтобы быть закрытым как «Дайте мне код» из- за отсутствия усилий.
Ответ №1:
import itertools
itertools.product(range(1,3), range(1,3), range(1,4), range(1,6))
Документы здесь: https://docs.python.org/3/library/itertools.html#itertools.product
Более общее решение:
itertools.product(*[range(1, n 1) for n in list_nums])
Комментарии:
1. В python 3 он будет создавать итератор ?!
2. @volcano это вопрос или возражение? Да, в Python 3 это приведет к созданию
itertools.product
объекта, который является генератором. Я думаю, что это делает что-то подобное в Python 23. Проблема в том, что я должен сделать это с произвольным списком.
4. Вы можете привести это к списку с помощью
list(...)
5. Я имею в виду, что у меня есть произвольное количество чисел в этом списке. У меня могло бы быть 5, или 10, или 100, или больше.