Seite 1 von 1
flexible Anzahl an Variablen
Verfasst: Freitag 10. November 2006, 22:58
von mep
Hallo,
ist es möglich eine flexible Anzahl an Variablen festzulegen?
Etwa so:
Code: Alles auswählen
x = "irgend ein Wert" #z.B. 10
for i in range(1, x):
var"i" = blabla
#anstatt "i" soll natürlich 1, 2, 3,...bis x-1 stehen
Ich würde mich freuen, wenn mir jemand einen Tip geben könnte.
MfG, MEP
Verfasst: Freitag 10. November 2006, 23:10
von Joghurt
Wofür soll das gut sein?
Es gibt Arrays/Listen.
Verfasst: Samstag 11. November 2006, 00:55
von Leonidas
Code: Alles auswählen
struktur = dict()
for i in range(5):
struktur[i] = "Inhalt"
print struktur
Verfasst: Samstag 11. November 2006, 11:51
von mep
Hallo,
danke, das wird wohl die einfachste Lösung sein, auch wenn ich dann einiges umstellen muss.
Danke für die Antwort
Gruß, MEP
Verfasst: Montag 13. November 2006, 21:15
von rolgal_reloaded
@Leonidas
Warum verwendest du dict() statt struktur={} ?
Ist das jetzt üblich?
Liebe Grüße
rolgal_reloaded
Verfasst: Montag 13. November 2006, 21:27
von birkenfeld
Stilfrage. Obwohl es natürlich einen semantischen Unterschied gibt: "dict" kann auf Modulebene oder in den Builtins neu gesetzt sein, {} ergibt immer ein "richtiges" Python-Dictionary.
Verfasst: Montag 13. November 2006, 21:32
von rolgal_reloaded
Hallo birkenfeld,
kannst du den semantischen Unterschied etwas näher darlegen?
Ich bin einer von jenen, die es mit einem Satz nicht verstehen, sorry
LG
rolgal_reloaded
Verfasst: Montag 13. November 2006, 21:38
von birkenfeld
Na, z.B. gibt die Funktion
etwas anderes als ein Dictionary zurück, wenn zuvor im Modul
steht oder jemand irgendwo im Programm
Verfasst: Montag 13. November 2006, 21:48
von rolgal_reloaded
Ok, so insgesamt verstanden, aber warum soll jmd. so etwas tun?
rolgal_reloaded
Verfasst: Montag 13. November 2006, 22:05
von birkenfeld
Das ist natürlich wieder eine ganz andere Frage.
Verfasst: Dienstag 14. November 2006, 18:05
von Leonidas
rolgal_reloaded hat geschrieben:Warum verwendest du dict() statt struktur={} ?
Ist das jetzt üblich?
Naja, üblich, nicht üblich. Ich habe es halt an der Stelle gemacht, hätte aber genauso gut auch {} nutzen können, da ich dict normalerweise nicht überschriebe.
Verfasst: Mittwoch 15. November 2006, 09:16
von N317V
Ist eben die Frage: will man sich die Möglichkeit offen halten, dict zu überschreiben auf die Gefahr hin, dass es dann an dieser Stelle nicht mehr passt, oder will man sicherstellen, dass hier definitiv ein echtes Dictionary verwendet wird, auf die Gefahr hin, dass man den Code nochmal anfassen muss, wenn man zusätzliche Funktionalitäten benötigt.
Verfasst: Mittwoch 15. November 2006, 10:19
von Blattlaus
Man sollte schlicht und ergreifend keine Basistypen (und dazu zähle ich auch die eingebauten Dictionarys) überschreiben.
Wenn man zusätzliche Funtkionalität braucht, steht es einem frei sich eine neue Klasse zu schreiben, die von dict erbt.
Einfach überschreiben ist - in meinen Augen - unglaublich schlechter Stil.
Verfasst: Mittwoch 15. November 2006, 10:33
von birkenfeld
Das finde ich auch. Darum spricht für mich auch nichts dagegen, dict() statt {} zu verwenden (auch wenns langsamer ist).
Verfasst: Mittwoch 15. November 2006, 11:52
von BlackJack
Also ich schreibe `dict()` und `list()` nicht weil ich mir Möglichkeiten offenhalten möchte, sondern weil ich es einfach aussagekräftiger finde.
Verfasst: Donnerstag 16. November 2006, 17:48
von rolgal_reloaded
...ausserdem gibts mit dict() ein paar nette Möglichkeiten:
z. Bsp:
Habe ich gerade in Python gepackt gefunden.
Verfasst: Donnerstag 16. November 2006, 17:52
von birkenfeld