列表理解中的 if else 速记

Posted

技术标签:

【中文标题】列表理解中的 if else 速记【英文标题】:shorthand if else in list comprehension 【发布时间】:2022-01-05 03:15:41 【问题描述】:

这是我在列表中生成偶数和奇数的一半和双倍的代码。我知道它将与块 for 循环一起使用。 但我想知道为什么列表理解不起作用 提前谢谢???

entry = input('Enter a number list ').split()

#Convert all items to integer
data = [int(x) for x in entry]

print(data)

rslt = [(a/2 if a%2==0 else 2*a) for a in data]

print(data)

输出:

Enter a number list 3 4 5
[3, 4, 5]
[3, 4, 5]

[Program finished]

【问题讨论】:

【参考方案1】:

你没有打印 rslt :) 如果你让它打印 rslt,你会得到这个输出:

Enter a number list 1 2 3 4
[1, 2, 3, 4]
[2, 1.0, 6, 2.0]

【讨论】:

对不起,我才意识到

以上是关于列表理解中的 if else 速记的主要内容,如果未能解决你的问题,请参考以下文章

python列表理解if else

python列表理解中的多个IF条件

在 VB.Net 中是不是有 C# (cond ? a : b) 中的速记 If-Then-Else 版本? [复制]

if--else 嵌套 怎么理解?

列表理解Python中的嵌套控制流

下面这个if else语句应该理解为几层嵌套?