在 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中文网其他相关文章!