在理解Python列表时,如何在条件语句中不执行任何操作?
事情是这样的:在理解Python列表时,如何在条件语句中不执行任何操作?,python,python-3.x,filter,conditional-statements,list-comprehension,Python,Python 3.x,Filter,Conditional Statements,List Comprehension,事情是这样的: lst = [1, 2, 3] i = [x if x == 2 else "I don't need that!" for x in lst] print(i) 输出: ["I don't need this item!", 2, "I don't need this item!"] 正如您在输出中看到的,我有我不想要的第一个和最后一个项目 我尝试了各种方法,比如删除else语句(这是不可能的),用pass语句替换0(它也不起作用) 在列表理解时,是否有可能在列表中使用条件
lst = [1, 2, 3]
i = [x if x == 2 else "I don't need that!" for x in lst]
print(i)
输出:
["I don't need this item!", 2, "I don't need this item!"]
正如您在输出中看到的,我有我不想要的第一个和最后一个项目
我尝试了各种方法,比如删除else
语句(这是不可能的),用pass
语句替换0
(它也不起作用)
在列表
理解时,是否有可能在列表
中使用条件获取所需的项目?或者它只能通过过滤器功能实现
需要的输出:
[2]
试试这个:
lst = [1, 2, 3]
i = [x for x in lst if x == 2]
print(i)
# [2]
lst=[1,2,3]
i=[x表示lst中的x,如果x==2]
印刷品(一)
输出:
["I don't need this item!", 2, "I don't need this item!"]
[2]
如果没有正确使用列表理解,则if
语句应该位于for
循环之后。有关详细信息,请参阅或
在问题改变之前,答案是:
lst=[1,2,3]
i=[x如果x==2,则为lst中的x,否则“我不需要此项!”]
印刷品(一)
输出:
["I don't need this item!", 2, "I don't need this item!"]
[“我不需要这个东西!”,2,“我不需要这个东西!”]
如果将放在错误的位置,则说明您将放在了错误的位置。试试这个:
lst = [1, 2, 3]
i = [x for x in lst if x == 2]
print(i)
# [2]
预期的输出是什么?只需删除if
语句的else
部分:[x for x in lst if x==2]
@HarshaBiyani问题帖子已经更新。如果必须添加内容,可以尝试通过或继续您的“所需输出”就是您所说的您不想要的输出。。也许想看看为什么被否决?这是字面上相同的编辑版本的接受的答案,除了编辑不存在时,我写它。。。如果有什么不同的话,可以说我的答案启发了被接受的答案……这是正确的。Norok2在这里表明,在NOELSE的情况下,列表理解的格式有点不同——“if”位于末尾。