Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 2, 2018 12:16:21

MEOW
Зарегистрирован: 2017-06-07
Сообщения: 59
Репутация: +  0  -
Профиль   Отправить e-mail  

не работает цикл permutations из itertools

Добрый день. Скачал и установил библиотеку 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)

Офлайн

#2 Авг. 2, 2018 18:24:29

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

не работает цикл permutations из itertools

В каждой перестановке все элементы множества участвую только по одному разу.
Так работает

  
list(itertools.permutations('0123012', 7))
list(itertools.permutations('0123' * 2, 7))



Отредактировано py.user.next (Авг. 2, 2018 18:25:48)

Офлайн

#3 Авг. 2, 2018 19:28:53

MEOW
Зарегистрирован: 2017-06-07
Сообщения: 59
Репутация: +  0  -
Профиль   Отправить e-mail  

не работает цикл permutations из itertools

py.user.next
В каждой перестановке все элементы множества участвую только по одному разу.Так работает
И как сделать, чтобы каждый элемент участвовал столько, сколько нужно?

Офлайн

#4 Авг. 2, 2018 21:08:03

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

не работает цикл permutations из itertools

MEOW
И как сделать, чтобы каждый элемент участвовал столько, сколько нужно?
Ты не понимаешь, что такое перестановки (понятие из комбинаторики). Опиши, что ты пытаешься сделать.



Офлайн

#5 Авг. 3, 2018 06:23:22

MEOW
Зарегистрирован: 2017-06-07
Сообщения: 59
Репутация: +  0  -
Профиль   Отправить e-mail  

не работает цикл permutations из itertools

Есть 7 элементов, у которых может быть состояние 0,1,2,3. Мне нужно вычислить все возможные варианты сочетаний состояний элементов.

Офлайн

#6 Авг. 3, 2018 10:49:27

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

не работает цикл permutations из itertools

Надо использовать прямое произведение множеств

  
>>> 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')]
>>>
Там семёрку поставишь вместо 2.



Отредактировано py.user.next (Авг. 3, 2018 11:05:30)

Офлайн

#7 Авг. 3, 2018 18:34:47

MEOW
Зарегистрирован: 2017-06-07
Сообщения: 59
Репутация: +  0  -
Профиль   Отправить e-mail  

не работает цикл permutations из itertools

Лучший!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version