的價值我有步行嵌套字典,並返回所需的關鍵價值遞歸函數:如何返回遞歸函數
def recurs(l):
for key in l.keys():
if key == '_events':
return l[key]
else:
recurs(l[key])
c=recurs(d)
print c
以及我如何獲得這些價值?
的價值我有步行嵌套字典,並返回所需的關鍵價值遞歸函數:如何返回遞歸函數
def recurs(l):
for key in l.keys():
if key == '_events':
return l[key]
else:
recurs(l[key])
c=recurs(d)
print c
以及我如何獲得這些價值?
得到一個平坦的迭代器最簡單的方法是寫一個發生器功能:
def recurs(l):
for key in l.keys():
if key == '_events':
yield l[key]
else:
for x in recurs(l[key]):
yield x
賓果=)這就是正確的答案,thx – Denis
只是return
它:
def recurs(l):
for key in l.keys():
if key == '_events':
return l[key]
else:
return recurs(l[key])
現在,它的返回無,但字典內有兩個列表,然後我嘗試使用yield返回空iter對象 – Denis
從函數中返回(一個)值是沒有意義的,因爲它可能會多次調用'recurs'。所以問題是,你期望什麼樣的回報價值?單一的價值?一個列表? –