以下是问题的解决方案:\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
问题的出现原因是因为在条件语句中放置了错误的位置。 解决方法是将条件语句放在正确的位置上。 代码如下:
lst = [1, 2, 3] i = [x for x in lst if x == 2] print(i) # [2]
为什么会被投票否定?这与接受的回答的编辑版本完全相同,只是当我写这个回答时,没有进行编辑... 如果有什么不同的话,可以说我的回答激发了接受的回答...
这是正确的。Norok2在这里展示了在没有else的情况下,列表推导的格式有一些不同 - "if"放在最后。
问题原因:在给定的代码中,列表推导的条件语句放在了for循环之前。这是不正确的用法。
解决方法:将条件语句放在for循环之后即可解决问题。
下面是修正后的代码:
输出结果为:
以上是关于如何在Python列表推导中使用条件语句的问题及解决方法。更多关于列表推导的信息可以参考Python官方文档或其他相关资源。
用户名或电子邮箱地址
密码