Wie kann ich bei einer beliebig verschachtelten Liste feststellen, ob eine Liste leere Listen enthält? Betrachten Sie das folgende Beispiel:
mylist <- list(list("foo", "bar", "baz", list(list())))
Ich habe versucht, rapply
, aber das überspringt Listen. Während ich lapply
verwenden könnte, müsste ich vorher die Verschachtelungstiefe kennen. Für diese Übung muss ich nicht wissen, wo die Liste ist (obwohl das ein Bonus wäre), ich brauche nur einen Weg, um festzustellen, ob es eine gibt.
Was ist mit einer Funktion wie dieser?
%Vor%Grundsätzlich erstellen wir eine rekursive Funktion, um nach Listen der Länge 0 zu suchen.
%Vor%Und hier ist eine Änderung, um den Index der leeren Liste zu finden
%Vor%Dies sollte einen Vektor des Indexes zurückgeben, den Sie verwenden können, um die leere Liste zu finden. Zum Beispiel
%Vor%Wenn der erste Parameter selbst eine leere Liste ist, wird 0
zurückgegeben %Vor%und wenn es keine leere Liste gibt, sollte es einen leeren Vektor zurückgeben
%Vor%Tags und Links r nested-lists