首頁 >後端開發 >Python教學 >如何在 Python 中展平嵌套列表推導式?

如何在 Python 中展平嵌套列表推導式?

DDD
DDD原創
2024-11-07 03:47:02953瀏覽

How to Flatten Nested List Comprehensions in Python?

展平列表推導以獲得單級結果

當面對嵌套資料結構時,程式設計師通常旨在將其展程式設計師平為單一等級。這是在使用列表推導式時出現的,其中每個元素可能輸出一個列表,從而產生一個列表列表。目前的問題解決了這個問題,尋求獲得扁平化清單的解決方案。

用於扁平化的巢狀迭代

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn