[Python-de] Re: Code vereinfachen

Gerhard Häring gerhard.haering at opus-gmbh.net
Thu Oct 10 14:28:51 EDT 2002


Ron Opitz <ron.opitz=lg8xjlp1sE8 at public.gmane.org> [2002-10-10 11:12 GMT]:
> Hallo,
> 
> ich bekomme Daten aus einer DB, davon sind einige
> Felder gefüllt andere nicht, darum führe ich folgenden Code aus:
> 
> if dat is None:
> 	dat = ""
> else:
> 	dat = strip(dat)
> 
> Dieser Code habe ich dann für jedes Feld stehen und das ist ...
> 
> Wie kann man diesen Code einkürzen bzw innerhalb des Array (Liste)
> "v" (Werte einer DBZeile) alle Werte in einer Schleife prüfen.

Ich verstehe das so, dass du Zeilen aus einer Datenbank holst, z. B. mit
cursor.fetchone() und die Felder in diesen Zeilen dann anpassen willst. Man
könnte das bei den meisten Daetenbanken zwar auch im SQL lösen, aber in Python
reicht doch eine einfeache for-Schleife, oder hab ich die Frage flasch
verstanden?

for i in range(row):
    if row[i] is None:
        row[i] = ""
    else:
        row[i] = row[i].strip()

oder kürzer:

    row = [col or "" for col in row]

das setzt aber voraus, dass du in der Zeile nur None bzw. Strings hast.
Ansonsten wandelt diese List Comprehension auch 0 in einen Leerstring um.

-- Gerhard






More information about the Python-de mailing list