Перестановки Python с ограничениями

Я использую Python 3 и пытаюсь найти способ получить все перестановки списка при соблюдении некоторых ограничений.

Например, у меня есть список L=[1, 2, 3, 4, 5, 6, 7]

Я хочу найти все перестановки. Однако Мои ограничения таковы:

  • 1 всегда должно стоять перед 2.
  • 3 должно стоять перед 4, которое, в свою очередь, должно стоять перед 5.
  • Наконец, 6 должно стоять перед 7.

Конечно, я может генерировать все перестановки и игнорировать те, которые не соответствуют этим ограничениям, но я думаю, это будет неэффективно.

10
задан mathematical.coffee 11 March 2012 в 23:49
поделиться