欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

三元表达式/列表生成式/生成器表达式

程序员文章站 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]