python 進階部分精華--那些書本不會告訴你的坑

來源:互聯網
上載者:User

標籤:else   遞迴演算法   att   get   dir   需要   instance   顯示   print   

遞迴目錄產生器方式, else 裡的 tmp 顯示擷取 yield 不可缺少 , 遞迴演算法中若要使用產生器,需要在產生器的原函數(首次調用)顯式得到所有yield值
def get_file_recur(path):    children = os.listdir(path)    for child in children:        qualified_child = os.path.join(path,child)        if os.path.isfile(qualified_child):            yield qualified_child        else:            tmp = get_file_recur(qualified_child)            for item in tmp:                yield itemfor file in get_file_recur('/home/xxx/xxx/Frank Li'):    print(file)
參考資料來源,如下 flattern list
def flattern(lst):    for item in lst:        if isinstance(item,list):            inner_list = flattern(item)            for i in inner_list:                yield i        else:            yield iteml=[1,2,3,4,5,[6],[7,8,[9,[10]]]]lst=flattern(l)print(list(lst))

python 進階部分精華--那些書本不會告訴你的坑

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.