Kann ich verschiedene variabelnamen per for schleifen benutzen ?

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
Ernie1412
User
Beiträge: 161
Registriert: Freitag 10. Januar 2020, 20:38

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
Benutzeravatar
__blackjack__
User
Beiträge: 14053
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@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.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Sirius3
User
Beiträge: 18274
Registriert: Sonntag 21. Oktober 2012, 17:20

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())
Antworten