h=[1,2,3,4,5,6,7,8,9]
g=["even" if i%2==0 else "odd" for i in h]
print(g)
现在我正在学习列表理解和三元运算符。列表理解用于将项目附加到newlist中。但这也是将项目附加到新列表中。所以上面的程序是三元运算符还是列表理解?
两者兼而有之。给定表达式["even" if i%2==0 else "odd" for i in h]
,我们有一个三元表达式:
"even" if i % 2 == 0 else "odd"
它被嵌入在一个更大的列表理解表达式中:
[ANY_EXPRESSION_AT_ALL for i in h]
表达式可以组合在一起。最简单的例子是1 + 1
是一个表达式,它可以与表达式* 2
组合以产生表达式1 + 1 * 2
。
请注意,我忽略了第二行的g =
部分,因为赋值是Python中的语句,而不是表达式,并且不返回值。所以你不能像编写表达式那样编写作业。