展平列表推導以獲得單級結果
當面對嵌套資料結構時,程式設計師通常旨在將其展程式設計師平為單一等級。這是在使用列表推導式時出現的,其中每個元素可能輸出一個列表,從而產生一個列表列表。目前的問題解決了這個問題,尋求獲得扁平化清單的解決方案。
用於扁平化的巢狀迭代
Python 的列表推導式為複雜的資料轉換提供了簡潔的語法。為了實現扁平化,可以在單一列表理解中使用嵌套迭代。以下程式碼示範了這種方法:
<code class="python">[filename for path in dirs for filename in os.listdir(path)]</code>
在此範例中,「dirs」是目錄列表,對於每個目錄,「os.listdir(path)」傳回子目錄列表。嵌套推導式迭代兩個列表,將子目錄累積成扁平結果。
功能等價
巢狀清單推導式可以表示為一系列巢狀循環:
<code class="python">filenames = [] for path in dirs: for filename in os.listdir(path): filenames.append(filename)</code>
兩種方法都達到相同的結果:子目錄的扁平列表。列表理解提供了更緊湊和可讀的語法,特別是對於涉及多次迭代的複雜轉換。
以上是如何在 Python 中展平嵌套列表推導式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!