#列表推式、字典推导式、集合推到式 #旧的列表--------->新的列表 #列表推到式:格式:[表达式 for 变量 in 旧列表] 或者[表达式 for 变量 in 旧列表 if 条件]
#集合推导式(列表推导基础上增加一个去除重复功能) 格式:{表达式 for 变量 in 旧列表} 或者{表达式 for 变量 in 旧列表 if 条件}
#字典推导式
#列表推式、字典推导式、集合推到式
#旧的列表--------->新的列表
#列表推到式:格式:[表达式 for 变量 in 旧列表] 或者[表达式 for 变量 in 旧列表 if 条件]
#过滤掉长度小于3的项,类似filter功能
names = ['tom','huitao','jack','lucky','ko']
n_names = [name for name in names if len(name)>3]
print(n_names)
#首字母大写
n_namess = [name.capitalize() for name in names if len(name)>3 ]
#将1-100之间能被3和5整除,组成一个新的列表
newlist = [i for i in range(1,101) if i % 3 == 0 and i % 5 == 0]
print(newlist)
puckList = [(x,y) for x in range(5) if x % 2 == 0 for y in range(10) if y % 2 != 0]
print(puckList)#列表放元组
dict1 = {'name':'huitao','salary':4000}
dict2 = {'name':'weiping','salary':6000}
dict3 = {'name':'pengfei','salary':7000}
dict4 = {'name':'weixuan','salary':4200}
lisg = [dict1,dict2,dict3,dict4]
#如果薪资大于5000加200,低于5000加500
ne_lisg = [employee['salary']+200 if employee['salary'] > 5000 else employee['salary'] +500 for employee in lisg]
print(ne_lisg)
#集合推导式(列表推导基础上增加一个去除重复功能) 格式:{表达式 for 变量 in 旧列表} 或者{表达式 for 变量 in 旧列表 if 条件}
list1 =[1,2,3,4,2,6,1]
#集合去重
set1 = {x for x in list1}
print(set1)
#字典推导式
#如果有个字典,我们想把key和value进行交换
dict1 = {'a':'A','b':'B','c':'C','d':'D'}
newdict = {value:key for key,value in dict1.items()}
print(newdict)