Python if else 在一行

作用类似于Java的三元运算符

IF 后为真:

a = True
c = 4 if a else 3
print(c)  # out: 4

IF 后为假:

a = False
c = 4 if a else 3
print(c)  # out: 3

列表推导式中使用if和if-else:

1.语法结构:

  • [x for x in data if condition]
    此处if主要起条件判断作用,data数据中只有满足if条件的才会被留下,最终生成一个数据列表。

  • [exp1 if condition else exp2 for x in data]
    此处if…else主要起赋值作用。当data中的数据满足if条件时,将其做exp1处理,否则按照exp2处理,最终生成一个数据列表。

2.实例演示

(1)使用列表推导式生成1-10的所有偶数

data = [i for i in range(1, 11)if i %2 == 0)]
[2, 4, 6, 8, 10]

(2)使用列表推导式,生成1-10以内,如果是奇数,输出“奇”,如果是偶数,则输出"偶"

data = ['奇' if i%2==1 else  '偶' for i in range(1, 11)]
# ['奇', '偶', '奇', '偶', '奇', '偶', '奇', '偶', '奇', '偶']
posted @ 2022-01-24 11:57  chuangzhou  阅读(1696)  评论(0编辑  收藏  举报