Nested <ul><li> navigation menu using a recursive Python function
- by Alex
Hi. I want to render this data structure as an unordered list.
menu = [
[1, 0],
[2, 1],
[3, 1],
[4, 3],
[5, 3],
[6, 5],
[7,1]
]
[n][0] is the key
[n][1] references the parent key
The desired output is:
<ul>
<li>Node 1</li>
<ul>
<li>Node 2</li>
<li>Node 3</li>
<ul>
<li>Node 4</li>
<li>Node 5</li>
<ul>
<li>Node 6</li>
</ul>
</ul>
<li>Node 7</li>
</ul>
</ul>
I could probably do this without recursion but that would be no fun. Unfortunately, I am having problems putting it all together. I don't have much experience with recursion and this is proving to be very difficult for me to build and debug.
What is the most efficient way to solve this problem in Python?
Thanks!