Как получить соединения второго порядка с использованием ipython со следующими ограничениями? - PullRequest
0 голосов
/ 14 января 2019

У меня есть соединение из региона1 в регион6 (1-> 6) Но я хочу получить соединения второго порядка. Другими словами: соединения из региона1 в регион2, затем из региона2 в регион6. (т.е. 1-> 2, 2-> 6)

Я хочу применить следующее ограничение: я не хочу, чтобы соединения одного региона, например, от region1 до region1 (т. Е. 1-> 1 , 1-> 6), отображались как подключение второго порядка.

Примечание. Регион1 - регион6 совпадает с регион6 - регион1. Кроме того, я хочу, чтобы соединения отображались в порядке убывания. Следовательно, если существует соединение второго порядка, которое идет от region1 к region0, а затем от region0 к region6 (1-> 0, 0-> 6). Я хочу, чтобы вместо этого было исправлено , чтобы стать region0 для region1 и затем region0 для region6 (0-> 1, 0-> 6).

Кроме того, как только все соединения второго порядка выполнены, я хочу, чтобы он был умножен, чтобы получить соединение region0 с region1, а затем region0 с region6 (т. Е. 0-> 1, 0-> 6).

Как только это будет сделано, я хочу сравнить его с соединением первого порядка в начале этого вопроса (1-> 6). И тогда я хочу, чтобы программа приняла более высокое значение. и сохрани это.

Это то, что я имею до сих пор:

from itertools import combinations

a=print(list(combinations(range(7),2)))

print(list(product(a, repeat=2))

Выходные данные я получаю: [(0,1), (0,1)], [(0,1), (0,2)], [(0,1), (0,3)] и т. Д. .

Это не то, что я хочу

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 14 января 2019

Вы можете начать с itertools. Модуль комбинаций выглядит в отсортированном порядке, без повторяющихся элементов.

from itertools import combinations

print(list(combinations(range(7),2)))

Itertools являются частью включенных пакетов в Python и отлично подходят для повторяющихся областей. Читать https://docs.python.org/3/library/itertools.html

За пределами комбинаций есть продукт, который является декартовым произведением, и перестановки, которые дают все возможные упорядочения, без повторяющихся элементов.

...