三元表达式/列表生成式/生成器表达式
程序员文章站
2022-05-21 14:48:11
一、三元表达式 三元表达式是python提供的一种简化代码解决方案。 语法: res = 成立返回的值 if 条件判断 else 不成立返回电热值 def func1(x,y): return x if x > y else y func1(11,12) 二、列表生成式 列表生成式是python提供 ......
一、三元表达式
三元表达式是python提供的一种简化代码解决方案。
语法:
res = 成立返回的值 if 条件判断 else 不成立返回电热值
def func1(x,y): return x if x > y else y func1(11,12)
二、列表生成式
列表生成式是python提供的一种简化代码解决方案,用来快速生成列表。
语法:
list = [ line for line in 可迭代对象 ]
list = [值 for 可迭代对象中取出的每一个值 in 可迭代对象 if 判断]
list1 = [line for line in range(1,101)] print(list1)
list = ['a','b','c'] list1 = [line + 'q' for line in list] print(list1) #['aq', 'bq', 'cq']
三、生成器表达式(生成式)
g = (line for line in range(1,10)) print(g) #<generator object <genexpr> at 0x000000000263dd00> print(next(g)) #1 print(next(g))#2
四、列表生成式vs生成器表达式
生成器表达式 | 列表生成式 | |
优点 | 节省内存空间 | 可以缩阴取值 |
缺点 | 取值不方便 | 浪费资源 |
五、匿名函数
语法:
lambda空格:返回值
lambda : res
注意:匿名函数必须配合内置函数一起使用才有意义。
#lambda x,y:x+y print((lambda x,y:x+y)(1,2)) #3
六、内置函数
python内部提供的内置方法
如:print(),len(),range(),max(),min(),map(),filter(),sorted()
print(max(10,20)) print(min(10,20)) list = [2,1,3] print(max(list))
#比较数字最大的字母名 dict = { 'n':100, 'e':60, 'm':40, 'a':20, 'b':10, } print(max(dict)) #默认按照:key n #字符串的比较:ascii print(max(dict.values())) #按照:value 100 print(max(dict,key=lambda x: dict[x])) #n print(min(dict,key=lambda x: dict[x])) #b
list = [2,1,3] print(sorted(list)) [1, 2, 3] print(sorted(list,reverse=true)) #[3, 2, 1]