三元表达式

dog_name='crazy_dog'
if dog_name=='crazy dog':
    print('疯狗')
else:
    print('溜了')
#通过三元表达式,我们可以缩减为以下代码

dog_name='crazy_dog'
print('疯狗')if dog_name=='crazy_dog' else print('溜了')
#三元表达式只支持双分支结构

条件成立时的返回值 if 条件 else 条件不成立时的返回值

列表推导式

lt=[]
for i in range(10):
    lt.append(i**2)
print(lt)    
#通过列表推导式可以缩写为以下代码

lt=[i**2 for i in range(10)]
print(lt)

字典生成式

dic={'a':1,'b':2}
new_dic={k*2 : v**2 for k,v in dic.items()}
print(new_dic)
#字典生成式一般与zip(拉链函数-->列表里面包了元组)连用
z=zip(['a','b','c','d'],[1,2,3,4]) #压缩方法,python解释器的内容
for k,v in z:
    print(k,v)

dic = {k: v ** 2 for k, v in zip(['a', 'b', 'c', 'd'], [1, 2, 3, 4])}  # 不能写这种代码
print(dic)
    

三元表达式/列表推导式/字典生成式 只是让你的代码更少了,但是逻辑没有变化

posted on 2019-08-13 19:34  黑糖A  阅读(119)  评论(0编辑  收藏  举报