Python 三元表达式、列表生成式

三元表达式:从两个选项中选择一个选项

从a b两个值中返回较大的一个。

方法一:if判断

a ,b = 10,20

if a > b:

  return a

else:

  return b

方法二:三元表达式

res = a if a > b esle b

如果 a > b,则把a返回并赋值给res,否则返回b并赋值给res

 

列表生成式:[返回值 for 循环 [if条件(可有可没有)]]

注意:上面格式不能使用esle,因为无法判断else是for的,还是if的

例:

从列表l中筛选出大于4的:

l = [1,2,3,4,5,6,7]

res = [ i for i in l if i > 4]

变化用法:[返回值 三元表达式 for循环]

例:

如果列表中的值不等于3则+1,等于3则-1

l = [1,2,3,4,5,6,7]

res = [i + 1 if i == 3 else i - 1 for i in l]

除了可以生成列表,还可以生成字典等(除集合外)

 

posted on 2021-11-27 10:17  秋不语  阅读(129)  评论(0)    收藏  举报

导航