Danke für die Antwort.
Ich übergebe meiner Funktion eine Liste, die nochmal Listen enthält, die je vier Strings enthalten.
Insgesamt gibt es 6 verschiedene Strings, von jeder Sorte 4. In jeder der 6 Unterlisten sind 4 Strings.
Wenn alle 4 Strings in allen unterlisten gleich sind, soll er True zurückgeben, ansonsten False.
Im Prinzip sind die Unterlisten Schubladen und die Strings Legosteine, und die Funktion soll mir True
zurückgeben, wenn alle Legosteine nach Farbe(Stringinhalt) aufgeteilt, in getrennten Schubladen liegen, dabei ist es egal welche Schublade welche Farbe enthält.
Was die Funktion bekommt ist im Prinzip das Regal mit den Schubladen, oder halt die Hauptliste, die die Unterlisten enthält
Vom Code her ist alles(oder eben nicht) richtig, nun wollte ich die Funktion auf ihre Effiziens testen und habe die Zeit gestoppt, um die Funktion 1 Mio.-mal an zufälligen Schubladen zu testen.
Dabei habe ich einen Counter, der bei jedem Durchgang +1 addiert, damit mir das Programm am Ende sagen kann wie viel Prozent der Schubladen richtig sortiert waren.
Seltsamerweise kommt da immer 100% heraus

, so als ob er die Funktion nicht nach return False abbrechen würde...
Das mit dem Funktion abbrechen ist deshalb so wichtig, da die Funktion möglichst schnell ablaufen muss, da ich verdammt viele Regale habe
Vielleicht spielt es eine Rolle, dass die Funktion aus einem anderen Modul importiert wurde. Wenn man sie in diesem Modul an Einzelfällen ausführt funktioniert es.
EDIT:
Sagt mir bitte wie man dieses Thema löschen kann. *facepalm* Es war ein totel einfacher Fehler im Hauptprogramm. sry... :-/
Die Schubladen waren nicht zufällig, sondern alle gelöst. (Ich hab einen Fehler bei der if-Anweisung der zufälligen Steine-Vertausch-Funktion gemacht)
Trotzdem danke für eure Antworten
