liste mit strings zu dictionary

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
jAN
User
Beiträge: 170
Registriert: Samstag 4. Juni 2005, 18:51
Wohnort: Großmehlra (in Thüringen)
Kontaktdaten:

ich habe folgendes probelm:
ich habe eine liste mit dateinamen. diese dateinamen haben die form Hauptthema.Unterthema1.Unterthema2.Untertheman.article
ich möchte nun aus diesen dateinamen ein geschachteltes dictionary erzeugen das so aussieht:

Code: Alles auswählen

{
Hauptthema1:{
  Unterthema1,
  Unterthema2,
  Unterthema3:{
    Unterthema1,
    Unterthema2
    }
  }
Hauptthema2:{
  ...}
...
}
und ich hab absolut keine idee wie ich das in python umsetzen kann.... *auf dem schlauch steh*
#adios.py
import os,sys
while 1: os.startfile(sys.argv[0])
Mad-Marty
User
Beiträge: 317
Registriert: Mittwoch 18. Januar 2006, 19:46

Wenn nicht bekannt ist durch was sich der artikel kennzeichnet, btw. es keinen anhaltspunkt gibt wieviele ebenen immer existieren (sind es immer 3 ?) ist das nicht wirklich möglich.


genausogut könntest du es mit [1,2,3,4,5,6,7,8,9] versuchen - praktisch unmöglich. Stelle deine übertragungsform am besten um-
jAN
User
Beiträge: 170
Registriert: Samstag 4. Juni 2005, 18:51
Wohnort: Großmehlra (in Thüringen)
Kontaktdaten:

ich hatte mir schon gedacht das das unmöglich ist...
mein eigentlcihes project: ich will mit php aus dateien, die in einem verzeichnis sind ein menu erzeugen...
naja schade :(
#adios.py
import os,sys
while 1: os.startfile(sys.argv[0])
digitus
User
Beiträge: 6
Registriert: Donnerstag 6. April 2006, 13:16

jAN hat geschrieben:ich hatte mir schon gedacht das das unmöglich ist...
mein eigentlcihes project: ich will mit php aus dateien, die in einem verzeichnis sind ein menu erzeugen...
naja schade :(
Unmöglich ist das nicht, hab ich mit Python mal gemacht. Also aus ner Verzeichnisstruktur mit .html Files drin einen Menübaum (mit begrenzter Tiefe) generiert. Falls dich der Code interessiert kann ichs dir zukommen lasen. Bei mir waren es dann keine verschachtelten Dicts sondern verschachtelte Instanzen von MenuItems. Ist aber echt ziemliches Gefummel. Mit den gängigen CMS die ja eh oft in PHP geschrieben sind ist vlt. einfacher.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

jAN hat geschrieben:mein eigentlcihes project: ich will mit php aus dateien, die in einem verzeichnis sind ein menu erzeugen...
Und was hat das mit Python zu tun?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

Wieso soll das unmöglich sein, oder habe ich die Anforderungen falsch verstanden!?

Code: Alles auswählen

from pprint import pprint

paths = ('Hauptthema.Unterthema1.Unterthema2.Untertheman.article',
         'Hauptthema.Unterthema2.Unterthema2.Untertheman.article',
         'Hauptthema2.Unterthema1.Unterthema2.Untertheman.article')

tree = dict()
for path in paths:
    node = tree
    for component in path.split('.'):
        node = node.setdefault(component, dict())
pprint(tree)
Antworten