Seite 1 von 1
Testen, ob Liste leer ist
Verfasst: Montag 1. Juni 2009, 16:15
von Caldar
Wie kann ich am effektivsten testen, ob eine Liste leer ist, also keine Einträge enthält?
Verfasst: Montag 1. Juni 2009, 16:18
von Hyperion
Code: Alles auswählen
In [39]: l = []
In [40]: if not l:
....: True
....:
....:
Out[40]: True
Verfasst: Montag 1. Juni 2009, 16:18
von OverNord
Leere Liste = False, also:
Verfasst: Montag 1. Juni 2009, 17:23
von Caldar
Beide Wege funktionieren bei mir nicht:
Ich muss dazusagen, dass die Liste in einer anderen Funktion, aber in derselben Klasse definiert wird:
Wenn ich nun in meiner aufgerufenen Funktion save_mapping die Existenz von Elementen in der Liste überprüfen will vermöge:
Code: Alles auswählen
def save_mapping(self):
if not (self.csv_choicelist):
print "leer!"
bekomme ich immer einen
AttributeError: csv_choicelist
Verfasst: Montag 1. Juni 2009, 17:25
von derdon
Die Klammern kannst du in Abfragen weglassen. Ich vermute einen Fehler in der Einrückung, sodass deine vermeintliche Methode vom Interpreter als Funktion außerhalb der Klasse erkannt wird. Paste doch mal bitte den kompletten Code auf
http://paste.pocoo.org
Verfasst: Montag 1. Juni 2009, 19:08
von BlackJack
@Caldar: Weist Du dem Attribut denn auch in der `__init__()` etwas zu? Falls nicht, muss natürlich `csv_choice()` vor `save_mapping()` mal aufgerufen werden, oder halt irgendeine andere Methode, die das Attribut an einen Wert bindet. Allerdings sollte man möglichst in der `__init__()` schon das komplette Objekt initialisieren.