2013-05-03 23 views

Antwort

3

Wenn Sie sicherstellen möchten, dass jeder Artikel in Ihrer Liste eine Liste ist, können Sie etwas tun könnte dies wie:

if all(isinstance(i, list) for i in lst): 
    # All of the items are lists 
  • isinstance(i, list) ist der bessere Weg type(i) == type(list) oder type(i) == list) des Schreibens.
  • all() gibt True zurück, wenn alle Elemente in der Sequenz True sind. Es wird False zurückgegeben, wenn keine True sind.
+0

'Typ (i) == Typ (Liste)' neuere funktioniert sowieso. :-P 'type (i) is list' kann einige Vorteile haben; Es wird auf den Typ * exact * getestet (keine Unterklassen zulässig). –

43

Verwendung isinstance() für eine bestimmte Art zu überprüfen:

>>> isinstance([], list) 
True 

Verwenden all() zu testen, ob alle Elemente eines bestimmten Typs sind:

all(isinstance(elem, list) for elem in list_of_lists) 

all() Kurzschlüssen; Wenn einer der Tests False zurückgibt, wird die Schleife beendet und False zurückgegeben. Nur wenn alle außer einem Element True zurückgeben, müssen all() jedes Element des Iterablen untersuchen.

Verwandte Themen