三元表达式
def max2(x,y): if x > y: return x else: return y
相当于
res = x if x>y else y
样式:res='条件成立的值' if x > y else '条件不成立的值'
列表生成式
l=[] for i in range(1,11): if i > 4: res='egg%s' %i l.append(res) print(l)
相当于
l=['egg%s' %i for i in range(1,11) if i > 4]
样式:[内容样式 for循环体 操作条件]
生成器表达式
res=(i**2 for i in range(3)) print(res) print(next(res)) print(next(res)) print(next(res)) print(next(res))
字典生成式
items=[('name','egon'),('age',18),('sex','male')] dic={} for k,v in items: dic[k]=v print(dic)
相当于
res={k:v for k,v in items if k != 'sex'}
或是集合生成式就不要k:v的形式传值