列表推导式
基本格式
"""
目的:方便的生成一个列表。
格式:
v1 = [i for i in 可迭代对象 ]
v2 = [i for i in 可迭代对象 if 条件 ] # 条件为true才进行append
"""
v1 = [ i for i in 'alex' ]
v2 = [i+100 for i in range(10)]
v3 = [99 if i>5 else 66 for i in range(10)]
def func():
return 100
v4 = [func for i in range(10)]
v5 = [lambda : 100 for i in range(10)]
result = v5[9]()
def func():
return i
v6 = [func for i in range(10)] #i为8,v6为 9个func函数
result = v6[5]()
v7 = [lambda :i for i in range(10)] #匿名函数
result = v7[5]()
v8 = [lambda x:x*i for i in range(10)] # 新浪微博面试题
# 1.请问 v8 是什么? #V8为10个匿名函数,每个函数接收一个参数
# 2.请问 v8[0](2) 的结果是什么? #结果等于2*9 = 18
# 面试题
def num():
return [lambda x:i*x for i in range(4)] #i 为:3
# num() -> [函数,函数,函数,函数]
print([ m(2) for m in num() ]) # [6,6,6,6]
# ##################### 筛选 #########################
v9 = [i for i in range(10) if i > 5] #先进行循环,然后进行判断:i是否大于5,如果为true,进行append进去