如何在列表推導式中正確放置 if 語句?

Barbara Streisand
發布: 2024-10-22 13:33:02
原創
773 人瀏覽過

How to Correctly Place an if Statement in a List Comprehension?

if 語句的列表理解中存在語法錯誤

在提供的列表理解中:

<code class="python">print([ y if y not in b for y in a])</code>
登入後複製

您遇到語法錯誤用“^”符號表示。此錯誤源自於 if 語句在推導式中的位置不正確。

具有if 條件的列表推導式的正確語法是:

<code class="python">[expression for item in iterable if condition]</code>
登入後複製

在您的情況下,條件應該放在for 語句之後:

<code class="python">print([y for y in a if y not in b])</code>
登入後複製

這個修改後的推導式將迭代a 的元素,評估每個元素是否不包含在b 中,並在結果列表中只包含那些滿足條件的元素。根據需要,此程式碼的輸出將是 ['r']。

此外,您可以使用if-else 三元運算子為不滿足條件的元素提供替代值:

<code class="python">print([y if y not in b else None for y in a])</code>
登入後複製

此推導式將傳回一個包含'r' 和None 的列表,因為'q' 包含在a 和b 中。

以上是如何在列表推導式中正確放置 if 語句?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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