Python表达式与生成式
发布时间:2020-12-20 10:08:55 所属栏目:Python 来源:网络整理
导读:前言 本章节中的所有知识点均为在 不丧失代码可读性的前提下最大程度精简代码的一系列操作。 其中涉及到一些性能问题(微乎其微)可以不做考虑。 三元表达式 三元表达式中有三个重要的元素: 1.条件是第一元素 2.条件成立返回的值是第二元素 3.条件不成立返
前言本章节中的所有知识点均为在不丧失代码可读性的前提下最大程度精简代码的一系列操作。其中涉及到一些性能问题(微乎其微)可以不做考虑。 三元表达式
def func(x,y): if x > y: return "条件成立" else: 条件不成立" res1 = func(1,2) print(res1) # ==== 三元表达式 ==== x = 1 y = 2 条件成立后返回的值放在第一位,条件放在第二位,条件不成立后返回的值放在第三位 res2 = " if x > y else " (res2) ==== 执行结果 ==== """ 条件不成立 条件不成立 """ 列表生成式应用场景: 需求:提取出列表l中以 male 结尾的元素 l = [Yunya-male",Jack-maleCuihua-FemaleMary-FemaleLaura-FemaleTom-male] new_l = [] for name in l: if name.endswith(-male): new_l.append(name) (new_l) ==== 列表生成式 ==== 第一位放需要添加的元素。中间放迭代变量,最后放if条件。只有if条件成立后迭代变量才会被添加至新列表中 new_l2 = [name in l )] new_l2 = [name for name in l if name.endswith("-male") else "x"] # 注意不能跟else,不符合条件的迭代变量将会被直接舍弃 (new_l2) ['Yunya-male','Jack-male','Tom-male'] ['Yunya-male','Tom-male'] """ 如何快速掌握列表生成式: 在列表生成式中,也可以将成功返回的结果做一些处理。 l = [str(i) for i in range(10) if i > 5] (l) 怎么样读懂列表生成式? 1:先看循环后面的代码 for i in range(10) if i > 5。看看要循环几次 # 2:再看前面代码 str(i) ,看看要生成什么值。 ['6','7','8','9'] 注意:列表生成式与range()的迭代变量没有任何关系: |