當前位置:成語大全網 - 新華字典 - Python遞歸生成器問題

Python遞歸生成器問題

如果調用 flatten3([[1,2],3])的話

for sublist in nested:

for element in fatten(sublist):

yield element

sublist分別為[1,2]和3

遞歸調用 fattern([1,2])返回壹個包含1,2的子生成器,for element in fatten返回1,2用yield語句將1,2放入父生成器中,有了yield父生成器中才會有子生成器中的值

遞歸調用 flatten(3) TypeError執行yield 3,返回壹個包含3的子生成器,yield element,3才會包含在父生成中