Форум сайта python.su
0
Добрый день. Скачал и установил библиотеку more-itertools через пип. Не работает цикл permutations из библиотеки, при чем combinations_with_replacement работает на ура. В чем проблема? Python 3.6 Windows 10 Pro, Pycharm professional edition.
print(list(permutations('0123',7)))
Отредактировано MEOW (Авг. 2, 2018 12:17:11)
Офлайн
857
В каждой перестановке все элементы множества участвую только по одному разу.
Так работает
list(itertools.permutations('0123012', 7)) list(itertools.permutations('0123' * 2, 7))
Отредактировано py.user.next (Авг. 2, 2018 18:25:48)
Офлайн
0
py.user.nextИ как сделать, чтобы каждый элемент участвовал столько, сколько нужно?
В каждой перестановке все элементы множества участвую только по одному разу.Так работает
Офлайн
857
MEOWТы не понимаешь, что такое перестановки (понятие из комбинаторики). Опиши, что ты пытаешься сделать.
И как сделать, чтобы каждый элемент участвовал столько, сколько нужно?
Офлайн
0
Есть 7 элементов, у которых может быть состояние 0,1,2,3. Мне нужно вычислить все возможные варианты сочетаний состояний элементов.
Офлайн
857
Надо использовать прямое произведение множеств
>>> list(itertools.product('0123', repeat=2)) [('0', '0'), ('0', '1'), ('0', '2'), ('0', '3'), ('1', '0'), ('1', '1'), ('1', '2'), ('1', '3'), ('2', '0'), ('2', '1'), ('2', '2'), ('2', '3'), ('3', '0'), ('3', '1'), ('3', '2'), ('3', '3')] >>>
Отредактировано py.user.next (Авг. 3, 2018 11:05:30)
Офлайн
0
Лучший!
Офлайн