【发布时间】:2022-07-07 18:01:16
【问题描述】:
我有一个关于 Python 中 if-else 块的问题,这里有一个例子:
a = [1,2,3]
b = [i if i%2 else i+1 for i in a]
# following sentence is wrong
c = [i if i%2 for i in a else i+1]
但在某些情况下,else 可以写在for 之后,就像这样:
def func(num):
return "True" if num%2 else "False"
不知道是什么原因,谢谢大家!
【问题讨论】:
-
你的最后一个例子在任何地方都没有
for。 -
示例的第二部分没有
for语句。语法与您的b =语句非常一致 -
这是一个列表推导,在网上搜索你很容易找到它。
-
您可以在列表推导中使用单个表达式,
i if i%2 else i+1在 python 中用作三元运算符 -
有几十种语言的数千个教程,你为什么不自己做任何研究?
标签: python