三元表示式 生成式 匿名函式

2022-09-13 06:39:09 字數 1918 閱讀 5012

def max2(x,y):

if x > y:

return x

else:

return y

res=max2(10,20)

x=10

y=20

# res=x if x > y else y

# print(res)

res='ok' if false else 'no'

print(res)

1、列表生成式

l=

for i in range(10):

if i > 4:

l=[i**2 for i in range(10) if i > 4]

print(l)

names=['egon','alex_sb','kevin_sb','hxx_sb','cxx_sb']

sbs=

for name in names:

if name.endswith('sb'):

sbs=[name.upper() for name in names if name.endswith('sb')]

print([name.upper() for name in names])

print([name for name in names if name.endswith('sb')])

2、字典表示式

res=

print(res)

print()

3、生成器表示式

g=(i for i in rang(10) if i > 5)

print(g)

print(next(g))

print(next(g))

print(next(g))

print(next(g))

with open('a.txt',mode='rt',encoding='utf-8')as f:

#print(len(f.read()))

#g=(len(line) for line in f)

#res=sum(g)

rer=sum(len(line) for line in f)

print(res)

三、匿名函式

def func():

print('from func')

func()

func()

func()

匿名函式就是只定義了乙個函式的記憶體位址,主要用於臨時使用一次的場景

func=lambda x,y:x+y

print(func)

print(func(1,2))

res=(lambda x,y:x+y)(1,2)

print(res)

print(max([10,11,-3,23]))

salaries=

def func(k):

return salaries[k]

print(max(salaries,key=lambda k:salaries[k]))

print(min(salaries,key=func))

'egon' 3000

'alex' 100000000

'wupeiqi' 10000

'yuanhao' 2000

l=[4,2,3]

l_new=sorted(l,reverse=true)

print(l_new)

print(sorted(salaries,key=lambda k:salaries[k],reverse=true))

三元表示式,生成式

條件,條件成立返回值,不成立返回值 deffunc x,y if x y return x else return y func 1,2 等同於三元表示式 條件成立就返回左邊的值,不成立就是右邊的值 x 1 y 2 res x if x y else y print res 2def func x,...

三元表示式 遞迴 匿名函式

三元表示式 符合python語法的表達方式 形式,公式 元素,三個元素 總體就是,由三個元素組成的表示式 其目的是為了簡化書寫,既然是簡化就必然有侷限性,三元表示式只能幫你簡化僅有兩個分支if判斷 res true if age 18 else false,並且這個判斷無論成立與否都必須返回乙個值 ...

三元表示式 生成式和函式遞迴

x 1 y 2res x if x y else y print res res 111111 if egon egon else 2222222222 print res 三元表示式可直接做返回值 def func x,y if x y return x else return y def fun...