ich wollte mir heute mal fix ein kleines Programm schreiben und stieß dabei auf folgendes Problem:
Hier mal das Codesegment (alle nötigen imports sind vorhanden):
Code: Alles auswählen
Solutions = [5,6,25,76,376]
def get_highest_element_with_unit_position(List, unit_pos):
TempList = List
while round(10 * (max(TempList) / 10 - math.floor(max(TempList) / 10))) != UnitPos:
TempList.remove(max(TempList))
return max(TempList)
Jedenfalls wenn ich jetzt in der Shell
GetHighestElementWithUnitPosition(Solutions, 5)
ausführe, so erhalte ich 25, so weit so gut. Nach dem Durchlaufen der While-Schleife sieht die TempList so aus: [5,6,25]
Allerdings hat sich jetzt auch die Liste Solutions auf genau diese Elemente, obwohl meiner Meinung nach dazu nichts im Code steht um dies zu erreichen. Eigentlich wird ja nur die TempList verändert und die wird am Anfang der Funktion abgefragt.
Wenn ich nun
GetHighestElementWithUnitPosition(Solutions, 6)
verwende, so erhalte ich 6 als Ergebnis, da eben die Liste Solutions die Elemente 76 und 376 nicht mehr enthält.
Entweder hab ich zu lange kein Python mehr gehabt oder ich bin einfach zu blöd und seh nicht warum Solutions auch verändert wird, könnt ihr mir weiterhelfen?
Vielen Dank im Voraus, Toonfish