2018.09.28python学习第十三天part3


# part3
# 三元表达式

# # eg.1
# def max2(x,y):
# if x>y:
# print(x)
# print(y)
# max2(22,33)
#
# # 简化成三元表达式:
# x=22
# y=33
# print(x if x>y else y)#使原代码更加的简洁

# list生成式:
# eg.1
# old:
l=[]
for i in range(1,6):
l.append(i)
print(l)

# new:
l=[i for i in range(1,6)]###一行代码就实现了
print(l)

# eg.2

# old:
names=['egon','axle','tony']
l=[]
for name in names:
if name!='tony':
res='%s_sb'%name
l.append(res)
print(l)

# new:
l=['%s_sb'%name for name in names if name!='tony']
print(l)

# dict生成式:

# eg.1

#old
items=[('name','egon'),('age',18),('sex','male')]
d={}
for k,v in items:
d[k]=v
print(d)

#new
d={k:v for k,v in items}
print(d)

# 生成器表达式
res=(i**2 for i in range(3))
print(res)
print(next(res))
print(next(res))
print(next(res))
print(next(res))
原文地址:https://www.cnblogs.com/hello-yuanjing/p/9721373.html