Ich habe eine Liste von Objekten namens Objekte . Jedes Objekt hat eine Eigenschaft state und eine Eigenschaft children , die eine weitere Liste von Objekten darstellt. Und jedes untergeordnete Objekt hat auch eine Eigenschaft mit dem Namen state . Was ich wissen möchte, ist, ob jeder Gegenstand und seine Kinder in den Zuständen glücklich oder fröhlich sind.
Ich habe das mit allen gemacht (nur die Zustände der Items analysiert):
%Vor%Ich würde gerne wissen, welches der beste Weg ist, um dasselbe zu tun, nicht nur mit Dingen, sondern auch mit Kindern.
Sie suchen hier nach einer Rekursion:
%Vor%Wie @tobias_k darauf hingewiesen hat, sollte dies schneller sein, da es nur einmal auf Items iteriert:
%Vor%Es ist zumindest lesbarer.
Für den Fall, dass Sie nur zwei Ebenen von Objekten haben, könnte ein simples für den Trick auch ausreichen.
%Vor%Dies wird wahrscheinlich am besten manuell gemacht.
%Vor%Das Ändern des Generatorausdrucks, um damit zu arbeiten, ist möglich, macht es aber ein bisschen hacky.
%Vor% Um Ihre Frage zu beantworten, ist es ja möglich, die all
-Funktion zu verschachteln, und das ist, wie Sie es tun könnten, wenn Sie wirklich wollen.
Tags und Links python