在Python 中,列表推導式提供了一種透過迭代現有列表並對每個元素應用轉換來建立新清單的緊湊方法。然而,在列表理解中編寫 if-else 語句可能會很棘手。
考慮以下範例:
<code class="python">l = [22, 13, 45, 50, 98, 69, 43, 44, 1]</code>
假設您想要透過將 1 加到更大的數字來建立新清單大於或等於 45,5 小於 45。
嘗試使用這樣的 if-else 語句將其編寫為列表理解:
<code class="python">[x+1 for x in l if x >= 45 else x+5]</code>
將導致語法錯誤。
要在列表理解中執行if-else 操作,您可以使用三元條件運算子:
<code class="python">[x+1 if x >= 45 else x+5 for x in l]</code>
此表達式的計算結果為:
<code class="python">[27, 18, 46, 51, 99, 70, 48, 49, 6]</code>
在此範例中,對於每個大於或等於45 的x 執行“x 1”,對於每個小於45 的x 執行“x 5”。
以上是如何在 Python 列表推導式中使用 if-else 語句?的詳細內容。更多資訊請關注PHP中文網其他相關文章!