首頁 > 後端開發 > Python教學 > 如何使用 Python 中的列表推導式將巢狀的字串列表轉換為浮點數?

如何使用 Python 中的列表推導式將巢狀的字串列表轉換為浮點數?

DDD
發布: 2024-12-16 12:09:11
原創
579 人瀏覽過

How Can I Convert Nested Lists of Strings to Floats Using List Comprehensions in Python?

使用清單推導式將巢狀清單轉換為浮點數

使用巢狀清單時,通常需要將每個元素轉換為不同的資料類型。常見的情況是將字串轉換為浮點數。列表推導式不使用巢狀循環,而是提供了一個簡潔且有效率的解決方案。

巢狀列表推導式

要將巢狀清單中的每個元素轉換為浮點數,可以使用巢狀清單推導式:

[[float(y) for y in x] for x in l]
登入後複製

此表達式循環遍歷主列表l 中的每個子列表x 並創建一個包含浮點數的新子列表從x 中的字串轉換而來。產生的列表將與原始列表具有相同的結構,但使用浮點數而不是字串。

展平列表理解

如果需要單一展平列表,則可以反轉循環順序:

[float(y) for x in l for y in x]
登入後複製

在這種情況下,y 迭代所有子列表中的所有元素,而x 迭代子列表本身。結果是一個包含從巢狀清單派生的所有浮點數的單一清單。

用法範例

考慮以下巢狀清單:

l = [['40', '20', '10', '30'], ['20', '20', '20', '20', '20', '30', '20'], ['30', '20', '30', '50', '10', '30', '20', '20', '20'], ['100', '100'], ['100', '100', '100', '100', '100'], ['100', '100', '100', '100']]
登入後複製

使用巢狀清單來理解,結果將是:

[[40.0, 20.0, 10.0, 30.0], [20.0, 20.0, 20.0, 20.0, 20.0, 30.0, 20.0], [30.0, 20.0, 30.0, 50.0, 10.0, 30.0, 20.0, 20.0, 20.0], [100.0, 100.0], [100.0, 100.0, 100.0, 100.0, 100.0], [100.0, 100.0, 100.0, 100.0]]
登入後複製

使用巢狀清單來理解,結果將是:

[40.0, 20.0, 10.0, 30.0, 20.0, 20.0, 20.0, 20.0, 20.0, 30.0, 20.0, 30.0, 20.0, 30.0, 50.0, 10.0, 30.0, 20.0, 20.0, 20.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0]
登入後複製
使用巢狀清單來理解平列表理解,結果將是:

以上是如何使用 Python 中的列表推導式將巢狀的字串列表轉換為浮點數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板