Gemeinsamen Anfang einer Liste finden...
Verfasst: Dienstag 10. Juli 2007, 15:46
Für http://www.python-forum.de/post-72855.html#72855 benötige ich eine Funktion, die den gemeinsamen Anfang einer Liste feststellt.
Meine Aktuelle Variante, macht das rekursiv, es sieht so aus:
Wie geht's besser/schneller? (Obwohl es erstmal schnell genug für mich ist)
Meine Aktuelle Variante, macht das rekursiv, es sieht so aus:
Code: Alles auswählen
def get_basename(filelist, basename=""):
"""
Liefert die gemeinsame Basis aller Dateinamen zurück
>>> get_basename(["abc1.txt", "abc2.txt", "abc3.txt"])
'abc'
>>> get_basename(["1.txt", "2.txt", "3.txt"])
''
"""
first_fn = filelist[0]
pos = len(basename)
# nächsten Buchstaben einfügen
new_basename = basename + first_fn[pos]
for fn in filelist:
if not fn.startswith(new_basename):
# Eine Datei fängt nicht so an -> Basis gefunden
return basename
return get_basename(filelist, new_basename)