使用列表推導式處理巢狀清單
處理巢狀清單時,可以方便使用清單推導式進行高效操作。其中一個用例涉及將嵌套元素轉換為特定資料類型,例如 float。
考慮以下巢狀清單:
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']]
要將此清單中的每個元素轉換為float,一個可能會訴諸嵌套循環:
newList = [] for x in l: for y in x: newList.append(float(y))
另一種方法利用列表的力量理解:
[[float(y) for y in x] for x in l]
此程式碼片段產生一個列表列表,反映原始結構,但元素轉換為浮點數。
對於平面結果,其中所有元素都在單一列表中:
[float(y) for x in l for y in x]
在這種情況下,循環順序至關重要,x 上的迭代先於x 的迭代y .
列表推導式為處理嵌套資料結構提供了簡潔且富有表現力的解決方案,使開發人員能夠有效地轉換和操作列表。
以上是列表推導式如何有效處理嵌套列表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!