Ich habe gerade Python als meine erste Programmiersprache gelernt. Bei einer Liste mit vielen möglichen Unterlisten, die eine variable Anzahl von Elementen haben, gibt es eine Möglichkeit, regex (oder etwas Ähnliches) zu verwenden, um zu bestimmen, welche Listen Unterlisten mit 1) der Anzahl der angegebenen Elemente und 2) einer gegebenen enthalten Art des Inhalts in einer bestimmten Reihenfolge (einschließlich anderer Unterlisten)? Zum Beispiel (in Pseudo-Code):Suche nach generischen Unterlisten innerhalb einer Liste
list1 = [1, 4, 7, ["a", 5, "b"], 2, 4,7,"k",9]
list2 = [1, 4, 7, ["a", "h", "b"], 2]
list3 = [1, 4, 7, ["a", ["a", 6, "b"], "b"], 5, 3]
list4 = [1, 4, 7, ["a", "b"], 3, 4]
list5 = [1, 4, 7, ["a", 5, "b", 7], 3, 4]
if ["a", ., "b"] in listx: # where "." stands for anything, even sub-lists
print("yes")
else:
print("no")
list1, list2 und list3 sollten "Ja" drucken, aber list4 und list5 sollten "nein" drucken.
Als Bonus gibt es eine Möglichkeit, 1) die Anzahl, wie oft die angegebene generische Unterliste gefunden wurde, und 2) wo? Zum Beispiel, list3 return "Es gibt 2 [" a ",.," B "] Unterlisten, die list3 [3] und list3 [3] [1]"
Ich weiß, ich könnte konvertieren Ganze zu einem String und parsen es, aber das scheint nicht eine sehr elegante oder effiziente Lösung. Vielen Dank!
Meine Vermutung ist, dass Rekursion ein helfen würde, viel ... ist das Hausaufgaben? – daveydave400
Keine Hausaufgaben. Nur ein Doktorand in einem anderen Bereich versucht, ihre Fähigkeiten zu erweitern. – amateur3057