Qua*_*ati -1 python list-comprehension filter conditional-statements python-3.x
这是事情:
lst = [1, 2, 3]
i = [x if x == 2 else "I don't need that!" for x in lst]
print(i)
Run Code Online (Sandbox Code Playgroud)
输出:
["I don't need this item!", 2, "I don't need this item!"]
Run Code Online (Sandbox Code Playgroud)
正如您在输出中看到的,我有我不想拥有的第一个和最后一个项目。
我尝试了各种方法,例如删除else语句(这是不可能的),替换0为pass语句(它也不起作用)。
甚至有可能list在list理解时使用条件获取刚需要的项目吗?还是只有filter功能才有可能?
需要的输出:
[2]
Run Code Online (Sandbox Code Playgroud)
尝试这个:
lst = [1, 2, 3]
i = [x for x in lst if x == 2]
print(i)
Run Code Online (Sandbox Code Playgroud)
输出:
[2]
Run Code Online (Sandbox Code Playgroud)
你没有正确使用列表理解,if语句应该在for循环之后。有关更多信息,请参阅Python 中的列表推导式或其文档。
改题前的答案是这样的:
lst = [1, 2, 3]
i = [x if x == 2 else "I don't need this item!" for x in lst]
print(i)
Run Code Online (Sandbox Code Playgroud)
输出:
["I don't need this item!", 2, "I don't need this item!"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1197 次 |
| 最近记录: |