Seite 1 von 1

Anfängerprobleme

Verfasst: Samstag 15. Mai 2004, 17:25
von infostud
Hallo,
bin neu auf diesem Gebiet.
Wie kann ich Elemente hinzufügen, wenn noch nicht vorhanden???
Wie lösche ich Elemente, wenn vorhanden???

Was heißt:Menge auf leere Menge setzen??

Bitte um Hilfe

Verfasst: Samstag 15. Mai 2004, 17:44
von fs111
Als erstes sollte Dich die Frage interessieren: Wie stelle ich meine Frage in einem Forum, damit die auch jemand versteht, oder anders ausgedrückt: Worum geht es überhaupt?

Grüße

fs111

Verfasst: Samstag 15. Mai 2004, 17:46
von Dookie
Hi infostud,

für Mengen gibts bei Python2.3 das Modul "sets", darin gibt es jedes Element nur einmal!
Ansonst gibts auch bei fürheren Versionen den Type list, darin kann ein Element auch mehrfach vorhanden sein.

Methoden sind bei Beiden ähnlich, bei Set muss zum Hinzufügen die Methode add verwendet werden bei list die Methode append.

Code: Alles auswählen

from sets import Set

myset = Set([1,2,3])
print "myset =", myset
myset.add(4) # Element hinzufügen
print "myset.add(4) ->", myset
myset.remove(3) # Element entfernen
print "myset.remove(3) ->", myset
print
mylist = list([1,2,3])
print "mylist =", mylist
mylist.append(4) # Element hinzufügen
print "mylist.append(4) ->", mylist
mylist.remove(2) # Element entfernen
print "mylist.remove(2) ->", mylist
print

Gruß

Dookie

Verfasst: Samstag 15. Mai 2004, 17:52
von Dookie
Ein Set hat auch noch die Methode clear, damit kann das Set auf "leer" gesetzt werden, bei Listen müssen alle Elemente gelöscht werden.

Code: Alles auswählen

myset.clear()
print "myset.clear() ->", myset

while mylist:
    mylist.pop() # letztes Element entfernen
print "while mylist:\n    mylist.pop()\n->",mylist
Gruß

Dookie
P.S.: da das nichts mit Netzwerken zu Tun hat verschiebe ich den Thread ins Forum für allgemeine Fragen.

danke

Verfasst: Samstag 15. Mai 2004, 18:52
von infostud
erst einmal vielen Dank für deine hilfreichen tipps.
nun, wie kann ich alle elemente von set zur Menge hinzufügen?
und mit size() die Anzahl der Elemente in der menge bestimmen???

Verfasst: Samstag 15. Mai 2004, 19:25
von Dookie
Sets können mit den logischen Operatoren verknopft werden
um 2 Sets zusammenzuführen wird das logische oder "|" verwendet

Code: Alles auswählen

set1 = Set([1,2,3])
set2 = Set([4,5,6])
set3 = set1 | set2
um set2 zu set1 hinzuzufügen kann auch

Code: Alles auswählen

set1 |= set2
verwendet werden.
Die weiteren Operatoren findest Du auf http://www.python.org/doc/current/lib/set-objects.html


Gruß

Dookie

set

Verfasst: Sonntag 16. Mai 2004, 17:21
von infostud
Hallo
die Tipps sind sehr hilfreich.
Danke nochmals.
das ist aber die Set Klasse von Python.
Genau so eine möchte ich selbst bauen...
Hilfe...

Verfasst: Sonntag 16. Mai 2004, 18:31
von Dookie
Hi nochmal,

schau dir einfach den Source von sets.py an, der ist unter Linux in /usr/lib/python2.3/sets.py zu finden, irgendwo treibt der sich sicher auch unter Windows herum ;)


Gruß

Dookie