0
我有一個遞歸函數返回一個奇怪的問題。它總是返回'None'而不是temp_blocks。他會在其他情況下寫入temp_blocks(塊列表,而不是無),但如果我調用函數blocks = _searchblocks(roots, left_edge, right_edge)
,它似乎不會返回列表。這是一個常見問題,還是我的錯?奇怪的Python行爲遞歸
def _searchblocks(blocks, left_edge, right_edge):
temp_blocks = []
for block in blocks:
if np.any(block.left_edge >= left_edge) \
and np.any(block.right_edge <= right_edge):
temp_blocks.append(block)
if len(temp_blocks) == 1:
_searchblocks(temp_blocks[0].children, left_edge, right_edge)
else:
print(temp_blocks)
return temp_blocks