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

Barbara Streisand
發布: 2024-11-09 00:23:02
原創
757 人瀏覽過

How Can I Flatten Nested List Comprehension Results in Python?

展平列表理解結果

使用列表理解時,經常會遇到嵌套列表作為輸出,尤其是在使用返回列表的函數時。要將這些嵌套列表轉換為平面結果,請考慮實作以下技術:

列表推導式中的巢狀迭代

Python 的列表推導式支援嵌套循環。這允許您迭代多個集合並展平結果。例如,以下嵌套列表推導式將目錄列表轉換為子目錄的平面列表:

<code class="python">dirs = ['dir1', 'dir2', 'dir3']
filenames = [filename for path in dirs for filename in os.listdir(path)]</code>
登入後複製

此推導式迭代目錄,存取每個目錄路徑。在內部循環中,它使用 os.listdir 來檢索該目錄中的檔案名稱。產生的清單包含所有子目錄。

連結列表推導式

或者,您可以連結多個列表推導式以實現扁平化。當您要套用多個轉換時,此方法適用:

<code class="python">directories = ['dir1', 'dir2', 'dir3']
filenames = [filename for path in directories if os.path.isdir(path) for filename in os.listdir(path)]</code>
登入後複製

在此範例中,我們首先從目錄中過濾掉非目錄(使用 if 子句)。然後,我們應用與上一個範例相同的 os.listdir 操作。連結這些推導式會展平結果。

透過使用巢狀迭代或連結推導式,您可以有效地展平嵌套列表推導式結果,從而提供一種簡化程式碼並保持可讀性的便捷方法。

以上是如何在 Python 中展平嵌套列表推導結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!