Python 中根據條件替換清單中的值
在Python 中,您可能會遇到需要操作清單中元素的情況清單,例如根據特定條件替換值。透過利用有效的技術,您可以有效地執行這些修改。
一種方法涉及利用列表理解。例如,如果您有一個列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 並且想要替換2 的模等於0 的元素,您可以使用以下理解:
new_items = [x if x % 2 else None for x in items]
此推導式建立一個新列表,其中根據條件(x % 2) 檢查每個元素。如果條件為 False,則保留原始值 (x)。否則,該元素將替換為 None。
或者,您可以使用 for 迴圈修改清單:
for index, item in enumerate(items): if not (item % 2): items[index] = None
此解決方案迭代列表,識別滿足條件 (item % 2) 的元素,然後將 None 指派給這些位置。
時間複雜度分析顯示兩種方法花費的時間大致相同。在 Python 3.6.3 中,列表推導式在速度方面略優於 for 循環,而在 Python 2.7.6 中,效能相當。
因此,替換基於列表中的值的最有效方法on 條件是使用列表理解,因為它以清晰簡潔的方式實現所需的結果。該技術在處理大型清單時特別有用,因為它最大限度地減少了所需的操作數量。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3