Lonestar hat geschrieben:Warum erstellt ihr euch eure eigenen Klassen um ein paar Dic zu verwalten wenn es schon fertige Klassen gibt?
Macht ja niemand im wirklichen Leben. Wenn so eine Klasse wie "MyDict" von BlackVivi erstellt wird, dann soll sie meist auch etwas mehr können als das builtin dict - sonst wäre die Ableitung eher witzlos (syntax shugar-Aspekte mal aussen vor gelassen). Hier im Forum werden solche Dinge häufig präsentiert, um die Machbarkeit zu demonstrieren.
Lonestar hat geschrieben:
Da ich sonst immer viel mit Arrays zu tun hatte wäre mir als Problemlösung einfach eine Liste mit Dictionarys eingefallen.
Code: Alles auswählen
>>> list =[]
>>> list.append({})
>>> list[0]["key"] = "hallo welt"
>>> list
[{'key': 'hallo welt'}]
[/list]
macht man sowas in Python nicht? Oder denke ich zu einfach?
Das sieht eher seltsam aus:
- das builtin list wird überschrieben
- so etwas wie list.key - wie hier gewünscht - erreicht man so auch nicht
- und eine derartige Verschachtelung kommt zwar manchmal vor, aber dazu braucht es einen guten Grund. (Man kann durch entsprechende Verschachtelungen auch in Python unübersichtlichen Code schreiben
.)
Python und C++ tun sich da nicht viel. In beiden Fällen überlegt man sich sehr gut, ob ein dict / container reicht oder ob es eine Liste / array von dicts / containern sein muß.
Gruß,
Christian