Seite 2 von 2

Verfasst: Donnerstag 12. März 2009, 22:39
von str1442
macht ja genau das.
Nö. Du legst den Namen liste neu an mit der neuen Liste, die alte Liste ist dann einfach nicht mehr erreichbar. Zumindest wenn man von einer Funktion ausgeht und das nicht auf Modulebene geschieht.

Verfasst: Donnerstag 12. März 2009, 22:43
von Trundle
Ich denke mal, es ging BlackJack eher um das Szenario, wenn das in einer Funktion steht. Dann wird nämlich in dem einen Fall das empfangene Argument verändert, dh die Liste ist beim Aufrufer nach dem Aufruf verändert, was ganz sicher nicht das erwartete Verhalten ist, im anderen Fall nicht. Man müsste also erst eine Kopie der Liste erstellen. Wenn man das erst macht, gibt es aber auch keinen Grund, nicht `sorted()` zu verwenden.

Edit: Ich schreibe wohl offensichtlich zu langsam.

Verfasst: Freitag 13. März 2009, 18:15
von INFACT
cofi hat geschrieben:@INFACT Nur sollte man dabei keine built-ins überschreiben ;)

@baGX http://www.python-forum.de/topic-1689.html
Ansonsten kannst du dich auch vertrauensvoll an die offizielle Dokumentation wenden ( -> http://docs.python.org/)

Das ist zwar der eleganteste Weg die Aufgabe zu lösen, aber ich glaube aber ehrlich gesagt nicht, dass der Lehrer das im Sinn hatte.
Dabei werden keine builtins überschrieben:

Code: Alles auswählen

>>> def foo(list):
	print list

	
>>> foo("asdfgsdfg")
asdfgsdfg
>>> a=list()
>>> a
[]
>>> 

Verfasst: Freitag 13. März 2009, 18:39
von Blade Runner

Code: Alles auswählen

min = list[0]
max = list[0]
for item in list:
  if item > max:
    max = item
  if item < min:
    min = item 
min und max sind die builtins.

edit: richtigen Code eingefügt.

Verfasst: Freitag 13. März 2009, 18:41
von Leonidas
INFACT hat geschrieben:Dabei werden keine builtins überschrieben:
Doch, lokal in der Funktion. Auch das sollte man vermeiden, denn wenn die Funktion etwas länger ist kann es durchaus vorkommen dass man dort irgendwo ``list()`` aufrufen will und wenn dann ein komischer Fehler kommt ist das unpraktisch.

Verfasst: Freitag 13. März 2009, 20:51
von INFACT
Ok, überzeugt :roll:
:wink: