Mam słownik taki jak ten stworzony przy pomocy Pythona.Dość wydruk wyjściowy w formacie drzewa z boku w oknie konsoli
d = {'a': ['Adam', 'Book', 4], 'b': ['Bill', 'TV', 6, 'Jill', 'Sports', 1, 'Bill', 'Computer', 5], 'c': ['Bill', 'Sports', 3], 'd': ['Quin', 'Computer', 3, 'Adam', 'Computer', 3], 'e': ['Quin', 'TV', 2, 'Quin', 'Book', 5], 'f': ['Adam', 'Computer', 7]}
Chciałem wydrukować to w formacie drzewa na boki zamiast na konsoli. Próbowałem ładnego druku, ale gdy słownik się wydłuża, czytanie staje się trudne.
Na przykład, z tego słownika, to wróci:
a -> Book -> Adam -> 4
b -> TV -> Bill -> 6
-> Sports -> Jill -> 1
-> Computer -> Bill -> 5
c -> Sports -> Bill -> 3
d -> Computer -> Quin -> 3
-> Adam -> 3
e -> TV -> Quin -> 2
Book -> Quin -> 5
f -> Computer -> Adam -> 7
Zasadniczo dość druku jest organizowany przez czyny lub pozycji w drugą pozycję na liście, a następnie według nazwy, a następnie przez numer.
Wyjście próbki powyżej jest tylko przykładem. Próbowałem pracować z Pretty print a tree, ale nie mogłem wymyślić, jak zmienić to na format boczny.
wygląda dobrze ... w dowolny sposób, aby to podobny do ładnego drzewa druku jednej gdzie ma format drzewo? – user1530318
Jeśli szukasz jakiegoś rodzaju rekursywnego rozwiązania dogłębnego dla drzewa, możesz mieć podstawowy przypadek, w którym dane nie będą podlegały iteracji, w przeciwnym razie będą rekurencyjne. Nie znam modułu Pprint bardzo dobrze, więc naprawdę nie wiem, co masz nadzieję, że mogę zrobić. – rsegal
Używanie nazwy słowa kluczowego takiego jak 'dict' dla argumentu lub nazwy zmiennej jest uważane za zły formularz, podobnie jak sprawdzanie typu. – martineau