Seite 1 von 1

Kann ich verschiedene variabelnamen per for schleifen benutzen ?

Verfasst: Montag 23. November 2020, 17:55
von Ernie1412
folgendes habe ich:

Code: Alles auswählen

                        if 'Born' in result.text.strip():                            
                            Geburtstag+=result.text.strip().replace('Born: ','')+'|'
                        if 'Birthplace' in result.text.strip():
                            Geburtsort+=result.text.strip().replace('Birthplace: ','')+'|'
usw. sind so 15 if abfragen mit verschiedenen variablen als Übergeber
kann ich die variablen in eine liste packen und dann:

Code: Alles auswählen

for i, Wort in enumerate(Woerter):
     if Wort in result.text.strip():                            
           VariablenListe[i]+=result.text.strip().replace(Wort+': ','')+'|'
wobei VariablenListe[0]=Geburtsort ist
wie geht das automatisch ?
wenn ich für jede variable das hinschreiben muss, kann ich auch gleich 15 if schleifen machen

Re: Kann ich verschiedene variabelnamen per for schleifen benutzen ?

Verfasst: Montag 23. November 2020, 19:03
von __blackjack__
@Ernie1412: Das klingt eher als würdest Du ein Wörterbuch verwenden wollen statt einer Liste mit ”magischen” Indexbedeutungen.

Namen werden in Python klein_mit_unterstrichen geschrieben. Ausnahmen sind Konstanten (KOMPLETT_GROSS) und Klassen (MixedCase).

`geburtstag` und `geburtsort` und was da sonst noch so kommt, sollten wohl auch keine Zeichenketten sein sondern Listen. Wenn dann alles gesammelt ist, kann man die Werte mit der ``"|".join(werte)`` zusammenfügen. Oder vielleicht möchtest Du da am Ende auch eher das CSV-Modul verwenden wollen. Oder mindestens mal prüfen das in den Daten selbst kein | vorkommt.

Re: Kann ich verschiedene variabelnamen per for schleifen benutzen ?

Verfasst: Montag 23. November 2020, 19:13
von Sirius3
Statt Strings mit '|' solltest Du Listen verwenden, und statt VariablenListe ist ein Wörterbuch das was Du suchst.
Und statt mit replace was wegzulöschen solltest Du am : splitten.
Variablennamen schreibt man komplett klein.

Code: Alles auswählen

geburtsdaten = {
    'Born': [],
    'Birthplace': [],
}
key, _, value = result.text.partition(':')
geburtsdaten[key.strip()].append(value.strip())