ich habe eine wirkliche Basiswissenfrage und in den Beispielen im Netz klingt das auch immer total logisch. Aber bei Dingen die im Hintergrund passiert, z.B. Speicherorte, etc. stehe ich noch auf dem Schlauch.
Und zwar wollte ich kürzlich eine if-Abfrage machen.
Zu den Operatoren is und == habe ich das so verstanden, dass is für den Bezug auf das selbe Objekt und == für den Vergleich des reinen Wertes genutzt wird. Aber für die Anwendung habe ich noch nicht verstanden, wann ich was verwenden muss.
In meinem Projekt hatte ich ungefähr folgenden Aufbau in einer Schleife, die die Elemente einer Liste durchforstet. Ist jetzt mal stark vereinfacht auf die wesentlichen Kernaussagen, die Frage betreffend.
Grund für die if-Abfrage war, dass die Listenelemente eigentlich jeweils ein Wörterbuch sind(danke für den Tipp vom letzten mal!), und ich für das jeweilige Minimum, dazu gehörenden Werte mit ausgeben lassen möchte.
Also war mein Ansatz: wenn das ermittelte Minimum, zu dem Listenelement gehört, das gerade betrachtet wird und somit das selbe Objekt anspricht (???), dann gib mir die dazu gehörenden Daten mit aus. Wird das Minimum also beim nächsten Element nicht neu überschrieben, will ich die übrigend Daten dieses Listenelementes nicht wissen.
Mit == läuft es ohne Macken, bei is läuft es auch ohne Error gibt aber nicht die richtige Variable aus. Jetzt noch mal zur Frage, wie ist das mit diesem is nun zu verstehen?
Code: Alles auswählen
liste0 = []
minimum = 0
i = 0
for i in liste0:
minimum = min(minimum, i + 3)
if minimum == i + 3
print(i)
# oder lieber mit weiterer Variabel? Macht das einen Unterschied?
for i in liste0:
wert = i + 3
minimum = min(minimum, wert)
if minimum == wert
print(i)
Beste Grüße und schon mal fettes Danke