【发布时间】:2019-12-03 14:29:27
【问题描述】:
事情是这样的:
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 语句(这是不可能的),将 0 替换为 pass 语句(它也不起作用)。
在list 理解的同时,是否有可能在list 中使用条件获得刚需要的项目?还是只有filter 函数才有可能?
需要的输出:
[2]
【问题讨论】:
-
预期输出是什么?
-
只需删除
if语句中的else部分:[x for x in lst if x == 2]。 -
@HarshaBiyani 问题帖已更新。
-
如果一定要加点什么,可以试试
pass或者continue -
你的“需要的输出”是你说你不想拥有的确切输出..可能想检查一下
标签: python python-3.x filter conditional-statements list-comprehension