-3
我正在嘗試編寫一個「簡單」遞歸函數來遍歷由嵌套列表表示的樹。當我使用print
時,我有正確的輸出,但我想要在list
中返回結果。反向任意嵌套列表的遞歸函數
代碼
def trav(t):
while len(t) > 1:
for counter, i in enumerate(t):
if isinstance(i, list):
t2 = t.pop(counter)
trav(t2)
n=t.pop()
print(n)
運行它通過打印
tree1 = [1, [2, [4], [5]], [3]]
trav(tree1)
輸出:
4
5
2
3
1
通過return value
所需的輸出:
[4, 5, 2, 3, 1]
@coldspeed - 正是我需要的!有沒有一種方法可以用'yield'來做到這一點?只是想知道 – Alex
@Alex我不能給你一個具體的理由(稱之爲程序員的直覺),但我不認爲這個應用程序的收益是慣用的。 –