Anfänger bräuchte Hilfe wegen sich ändernden Variablenwerten

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
traubensaftschorle
User
Beiträge: 1
Registriert: Mittwoch 26. März 2014, 00:25

Hallo alle zusammen. Ich bräuchte mal eure Hilfe da ich relativ neu bin und mich gerade an der optimierung meines kleinen Programms versuche:

Ich würde gern wissen ob es irgendwie möglich ist, eine Liste( oder gerne auch etwas vergleichbares ), mit Variablen als richtige Platzhalter statt mit den Werten der Variablen zu bestücken, so dass wenn die Variablenwerte im Programm dann geändert werden auch die Liste sich aktualisert, bzw. ich aus den Variablen in der Liste dann schnell eine neue Liste mit den Werten erstellen könnte.
Das Prinzip ist in etwa so gemeint:

a = 'X'
b = 'y'

liste = [ a, b ]

print( liste ) # 'x', 'y'

a = 'w'
b = 'z'

print( liste ) # 'x', 'y'

# ich würde mir wünschen das die liste eben irgendwie lernen könnte :) das ich jetzt anstelle von 'x' und 'y' nach der neuen Zuweisung 'w' und 'z' brauche.

Ich hoffe das ist laienhaft genug und trotzdem nachvollziehbar ausgedrückt, möchte nicht mit Fachwörtern um mich werfen die ich nicht wirklich beherrsche.

Ich habe eine große Liste mit kleinen Listen geplant, die Sequenzen von Variablen als Platzhalter verwenden sollte, und sich je nach den aktuellen (globalen ) Werten dieser Variablen eben selbst anpasst/mutiert/aktualisert.

Danke schon mal im Voraus für eure Hilfe.
Grüße, David :D
BlackJack

@traubensaftschorle: So ganz grundsätzlich würde ich mal sagen dass das nicht geht.
Benutzeravatar
pillmuncher
User
Beiträge: 1484
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

@traubensaftschorle: Was du möchtest könnte man als magische Fernwirkung bezeichnen. Was du statt dessen möchten solltest, ist OrderedDict:

Code: Alles auswählen

from collections import OrderedDict

mydict = OrderedDict()

mydict['a'] = 'x'
mydict['b'] = 'y'
print(list(mydict.values())) # 'x', 'y'

mydict['a'] = 'w'
mydict['b'] = 'z'
print(list(mydict.values())) # 'w', 'z'
Oder ein normales dict, falls die Reihenfolge nicht wichtig ist.
In specifications, Murphy's Law supersedes Ohm's.
Antworten