匿名函数, 列表生成式, 字典生成式
匿名函数
注意: 匿名函数必须有返回值
形式
f= lambd 形参: 返回值1 if 条件 else 返回值2
f= (lambd 形参: 返回值 if 条件
r = f(实参)
DEMO
f = lambda x: x if x>5 else 1
r = f(6)
print(r)
列表生成式
形式
[i for i in range(5) if i%=0]
[i if i%2==0 else 0 for in range(5)]
DEMO
# 1-9之间随机取三个数, 保留奇数
a = [n for n in [random.randint(1,9) for i in range(5)] if n%2]
# 把1-10的看列表中的偶数项换成0
b = [n if n%2 else 0 for n in range(10)]
字典生成式
形式
{x:y for x,y in zip(可迭代对象1,可迭代对象2)} 列表1是keys,列表2是values
二维列表排序
a = [("a",2),("b",6)]
指定key的参数,用lambda函数实参默认我列表的每个元素
a = sorted(a,key=lambda x: x[1],reverse=True)