如何在Python列表推导式中的条件语句中不执行任何操作?

12 浏览
0 Comments

如何在Python列表推导式中的条件语句中不执行任何操作?

以下是问题的解决方案:\n

lst = [1, 2, 3]
i = [x for x in lst if x == 2]
print(i)

\n输出:\n

[2]

\n如您在输出中所见,我得到了我所需的第一个和最后一个项目。\n我尝试了各种方法,比如删除`else`语句(这是不可能的),用`pass`语句替换`0`(也不起作用)。\n使用条件语句的列表推导是否可能仅获取所需的项目,还是只能使用`filter`函数才能实现呢?\n所需的输出:\n

[2]

0
0 Comments

问题的出现原因是因为在条件语句中放置了错误的位置。 解决方法是将条件语句放在正确的位置上。 代码如下:

lst = [1, 2, 3]
i = [x for x in lst if x == 2]
print(i)
# [2]

为什么会被投票否定?这与接受的回答的编辑版本完全相同,只是当我写这个回答时,没有进行编辑... 如果有什么不同的话,可以说我的回答激发了接受的回答...

这是正确的。Norok2在这里展示了在没有else的情况下,列表推导的格式有一些不同 - "if"放在最后。

0
0 Comments

问题原因:在给定的代码中,列表推导的条件语句放在了for循环之前。这是不正确的用法。

解决方法:将条件语句放在for循环之后即可解决问题。

下面是修正后的代码:

lst = [1, 2, 3]
i = [x for x in lst if x == 2]
print(i)

输出结果为:

[2]

以上是关于如何在Python列表推导中使用条件语句的问题及解决方法。更多关于列表推导的信息可以参考Python官方文档或其他相关资源。

0