Seite 1 von 1

Variable aus Variable erstellen

Verfasst: Samstag 1. Mai 2010, 17:43
von bernie70
Hallo,

ist es möglich, eine Variable in einer Schleife in einer zweiten Variable einzufügen?

z. B.:

fl_liste = ['FL1234']

for fl in fl_liste:

if WP_+fl+ >0 and WP_+fl+ <= 10:
WS_+fl+ = 'Wert1'

Anstelle von +fl+ hätte ich gerne die Variable eingesetzt, damit das Script folgendermassen interpretiert wird:

fl_liste = ['FL1234']

for fl in fl_liste:

if WP_FL1234 >0 and WP_FL1234 <= 10:
WS_FL1234 = 'Wert1'

Ist das möglich?

Danke für Eure Antworten.
bernie70

P.S.: Wie kann ich hier im Forum Einrückungen schreiben?

Verfasst: Samstag 1. Mai 2010, 17:46
von derdon
Zum PS: Mit dem Button "Python" zwischen "Quote" und "List": http://www.python-forum.de/faq.php#21

Zu deiner eigentlichen Frage: benutze eine Liste statt vieler Namen.

Verfasst: Samstag 1. Mai 2010, 17:53
von bernie70
Hallo derdon,

danke schon mal für die Antworten. Leider werde ich noch nicht ganz schlau daraus.

Wenn das Script fertig ist, beihnaltet meine Liste 10 Werte. Der Wert FL1234 ist nur der erste.

Müsste also mit +FL1234+ der Wert FL1234 in der Folge im Script in meinen neuen Variablen eingesetzt werden?

Re: Variable aus Variable erstellen

Verfasst: Samstag 1. Mai 2010, 18:07
von Sr4l
bernie70 hat geschrieben:

Code: Alles auswählen

fl_liste = ['FL1234']

     for fl in fl_liste:

          if WP_+fl+ >0 and WP_+fl+ <= 10:
          WS_+fl+ = 'Wert1'

Code: Alles auswählen

   fl_liste = ['FL1234']

   for fl in fl_liste:

      if WP_FL1234 >0 and WP_FL1234 <= 10:
      WS_FL1234 = 'Wert1'
Lösungsvorschlag:

Code: Alles auswählen

fl = {'FL1234':7, 'FL1235':12}
ws = {'FL1234':False, 'FL1235':False}
for e in fl:
    if fl[e] >0 and fl[e] <= 10:
        ws[e] = 'Wert1'

Code: Alles auswählen

>>> fl
{'FL1234': 7, 'FL1235': 12}
>>> ws
{'FL1234': 'Wert1', 'FL1235': False}
*edit* PS: Wenn der Variablenname ohne Bedeutung ist kannst du auch Listen benutzen

Verfasst: Samstag 1. Mai 2010, 18:09
von gkuhl
Vielleicht suchst du auch Dictionaries:

Code: Alles auswählen

In [21]: d = dict()

In [22]: d['FL1234'] = 'Hello World!'

In [23]: d
Out[23]: {'FL1234': 'Hello World!'}

In [24]: d['FL1234']
Out[24]: 'Hello World!'
Aber, sowohl Listen als auch Dictionaries sind Grundlagen, die du kennen solltest. Das Python Tutorial kann da hilfreich sein.

Verfasst: Samstag 1. Mai 2010, 18:13
von bernie70
Hallo Sr4l,

danke für Deinen Lösungsvorschlag.

Kannst Du mir bitte noch erklären, was im Lösungsvorschlag :7 , :12 und :false bedeuten?

Danke!

Verfasst: Samstag 1. Mai 2010, 18:15
von Darii
bernie70 hat geschrieben:Kannst Du mir bitte noch erklären, was im Lösungsvorschlag :7 , :12 und :false bedeuten?
http://docs.python.org/tutorial/datastr ... ctionaries

Verfasst: Samstag 1. Mai 2010, 18:26
von bernie70
Danke für den Link.

ich denke, ich habe mich noch nicht klar ausgedrückt, was ich möchte.

Anhand eines einfachen Beispiels möchte ich versuchen, das noch mal kurz zu erklären:

Als erstes setze ich eine Variable:

x='123'

Dann möchte ich die Variable x in eine neue Variable einsetzen:

y = ab_$x_ba (rauskommen soll ab_123_ba)

In anderen Programmiersprachen wird eine Variable mit $ referenziert. Wie geht das in Python?

Verfasst: Samstag 1. Mai 2010, 18:35
von Sr4l
Du meinst String formatierung?
Ansonsten schreib ein Beispiel in einer anderen Programmiersprache ;-)

Code: Alles auswählen

x = 123
y = "ab_%s_ba"%x
bzw:

Code: Alles auswählen

y = "ab_{0}_ba".format(x)

Verfasst: Samstag 1. Mai 2010, 18:39
von bernie70
Danke!!!

Das war das was ich gesucht habe!