Advertisement
Guest User

Permutations

a guest
Dec 11th, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.83 KB | None | 0 0
  1. def permutations():
  2.     sequence = [0,1,2,3,4,5,6]
  3.     sequenceCopy2 = [0, 1, 2, 3, 4, 5, 6]
  4.     sequenceCopy = [2,6,0,5,1,3,4]
  5.     while len(sequence) > 1:
  6.         chain = get_chain(sequence, sequenceCopy)
  7.         sequence = diff(sequence, chain)
  8.         print(chain)
  9.  
  10.  
  11. def diff(list1, list2):
  12.     c = set(list1).union(set(list2)) # or c = set(list1) | set(list2)
  13.     d = set(list1).intersection(set(list2)) # or d = set(list1) & set(list2)
  14.     return list(c - d)
  15.  
  16.  
  17. def get_chain(sequence, permutation):
  18.     chain = []
  19.     index1 = permutation.index(sequence[0])
  20.     chain.append(sequence[0])
  21.     chain.append(index1)
  22.     src = index1
  23.     while True:
  24.         chain.append(permutation.index(src))
  25.         if chain[0] == chain[len(chain)-1]:
  26.             return chain
  27.         src = permutation.index(src)
  28.  
  29. permutations()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement