Sets erstellen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Lastalda
User
Beiträge: 10
Registriert: Dienstag 25. Mai 2010, 14:29

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...)
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

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
Lastalda
User
Beiträge: 10
Registriert: Dienstag 25. Mai 2010, 14:29

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! :-)
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

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.
Das Leben ist wie ein Tennisball.
Lastalda
User
Beiträge: 10
Registriert: Dienstag 25. Mai 2010, 14:29

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... :()
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

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.
Antworten