Skip to content

Instantly share code, notes, and snippets.

@MartGro
Created June 28, 2018 17:35
Show Gist options
  • Save MartGro/138af910212eebe034360132d7ea7501 to your computer and use it in GitHub Desktop.
Save MartGro/138af910212eebe034360132d7ea7501 to your computer and use it in GitHub Desktop.
def listen_permutierer(a,b):
produkt = itertools.product(a,b)#Kartesisches Produkt
produkt_set = [i for i in set(produkt)]#Alle einfachen Dubletten entfernen
output_set = produkt_set.copy()#Kopie, aus der die umgedrehten dubletten gelöscht werden
for i in range(len(produkt_set)):#Von vorne her alle einzelnen Einträge durchgehen
umgedrehtes_element = tuple(reversed(produkt_set[i]))#Das jeweilige Element umdrehen (1,2) → (2,1)
for j in range(i,len(produkt_set)):#Alle Elemente hinterhalb anschauen und das Element entfernen, wenn es dem Umgedrehten entspricht
if umgedrehtes_element == produkt_set[j]:
output_set[j] = -1 #Das jeweilige Element zum löschen markieren (Im output_set steht dann halt -1 statt dem (2,1))
output = [i for i in output_set if i != -1] #Die Elemente löschen und ausgeben
return output
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment