Seite 1 von 1

Sets erstellen

Verfasst: Dienstag 25. Mai 2010, 14:44
von Lastalda
Hallo,

ich habe Schwierigkeiten mit Sets. Ich möchte gern welche verwenden, aber irgendwo ist ein Grundsatzfehler, ich kann nicht mal ganz einfache Sets erstellen.

Code: Alles auswählen

myset = set ([1,2,3])
Sollte mir das nicht ein Set mit den Werten 1, 2 und 3 drin liefern?
Ich bekomme nämlich:
TypeError: 'list' object is not callable
:(

Kann mir bitte jemand sagen, warum, bzw. wie es richtig wäre?

Danke!
Lastalda

(Nachtrag: ich verwende Python 2.6.5, laut Dokumentation sollte set() also built-in sein...)

Re: Sets erstellen

Verfasst: Dienstag 25. Mai 2010, 14:56
von gkuhl
Hallo und Willkommen im Forum,

klingt so als hättest du zuvor den built-in Namen "set" überschrieben:

Code: Alles auswählen

>>> set = [1,2,3]
>>> myset = set([4,2,1,4])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'list' object is not callable
Grüße
Gerrit

Re: Sets erstellen

Verfasst: Dienstag 25. Mai 2010, 15:06
von Lastalda
Huh, hatte ich in der Tat in einer zeitigeren Dateiversion, hatte die entsprechende Zeile aber korrigiert (zwischenzeitlich sogar Programm neu gestartet). Ich dachte, damit wäre das gegessen. Aber anscheinend hat sich die Datei das trotzdem gemerkt... Habe jetzt den Code aus der Datei per copy&paste in eine zweite Date gepackt, und da läuft er!

Erstaunlich!

Danke! :-)

Re: Sets erstellen

Verfasst: Dienstag 25. Mai 2010, 15:38
von EyDu
Ich vermute mal, dass du mit IDLE gearbeitet hast. Starte daher deine Programme besser direkt über die Konsole oder über eine bessere IDE, mit IDLE handelst du dir sehr leicht undurchschaubare Fehler ein.

Re: Sets erstellen

Verfasst: Dienstag 25. Mai 2010, 18:38
von Lastalda
Echt? Das ist ja schade! Ich find IDLE so super komfortabel... :(
(Bin halt kein Informatiker, sondern eigentlich Biologe, der nur nebenbei ab und an was scriptet, um sich die Datenverarbeitung zu erleichtern. Hab mir auch z.B. Eclipse mal angeguckt, fand es aber furchtbar unübersichtlich... :()

Re: Sets erstellen

Verfasst: Dienstag 25. Mai 2010, 18:51
von numerix
Wenn du mit IDLE zufrieden bist, dann lass es dir nicht ausreden.
IDLE ist längst nicht so schlecht, wie man das gelegentlich liest. Das von dir beschriebene Verhalten z.B. ist reproduzierbar, wenn du IDLE ohne Subprozess startest. Bei Verwendung von Subprozessen kommt das nicht vor. Ansonsten: Falls ein Verhalten auftritt, dass du dir nicht erklären kannst und es evtl. daran liegt, dass alten Namen aus dem Namensraum noch vorhanden sind, dann hilft einmaliges schließen und wieder starten von IDLE.