Wie findet man mit Pythonic das längste gemeinsame Präfix einer Listenliste?

Gegeben: eine Liste von Listen, wie z[[3,2,1], [3,2,1,4,5], [3,2,1,8,9], [3,2,1,5,7,8,9]]

Machen: Ermitteln Sie das längste gemeinsame Präfix aller Unterlisten.

Existiert: In einem anderen Thread "Gemeinsame Elemente zwischen zwei Listen, die in Python keine Mengen verwendenmsgstr "" "wird empfohlen," Counter "zu verwenden, der über Python 2.7 verfügbar ist. Da unser aktuelles Projekt jedoch in Python 2.6 geschrieben wurde, wird" Counter "nicht verwendet.

Ich codiere es momentan so:

l = [[3,2,1], [3,2,1,4,5], [3,2,1,8,9], [3,2,1,5,7,8,9]]
newl = l[0]
if len(l)>1:
    for li in l[1:]:
    newl = [x for x in newl if x in li]

Aber ich finde es nicht sehr pythonisch, gibt es eine bessere Art der Codierung?

Vielen Dank!

Neue Bearbeitung: Tut mir leid zu erwähnen: in meinem Fall haben die gemeinsam genutzten Elemente der Listen in 'l' die gleiche Reihenfolge und beginnen immer ab dem 0. Punkt. So haben Sie nicht Fälle wie[[1,2,5,6],[2,1,7]]

Antworten auf die Frage(6)

Ihre Antwort auf die Frage