# 列表生推导式
ago_lis =['西红柿%s'%i for i inrange(10)]#生成一个列表,结构是把for前面的部分输出到列表中print((ago_lis))
ago_lis=[]for i inrange(10):
ago_lis.append('西红柿%s'%i)print(ago_lis)print([i*i for i inrange(10)])#把for前面的部分输出到列表中
# 列表推导式公式: ['每个元素或者是和元素相关的操作%s' %i for i in 可迭代数据类型]# 完整的推导式(其他推导式没有if):[满足条件的元素相关的操作 for 元素 in 可迭代数据类型 if 元素相关条件(注:满足才会触发大括号)] 类似于是一个是一个筛选#30以内 能被3整除的数
ast =[ i for i inrange(31)if i %3==0]# 完整的列表推导式print(ast)
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30]
#列表推导式#30以内 能被3整除的数的平方
asf =[i * i for i inrange(31)if i %3==0]print(asf)
[0, 9, 36, 81, 144, 225, 324, 441, 576, 729, 900]
# 生成器表达式
asf =(i * i for i inrange(31)if i %3==0)print(asf)for i in asf:print(i)
# 将Key和Value对调
mask ={'a':12,'b':26}#要完成的任务就是{12;'a',26:'b'}
mask_frequency ={mask[k]:k for k in mask}print(mask_frequency)
{12: 'a', 26: 'b'}
#合并大小写对应的Value值,将K统一成小写
mask ={'a':12,'b':26,'B':4,'M':93}#要实现的是{'b':26+ 4,'a':12,'M':93}
mask_frequency ={k.lower():mask.get(k.lower(),0)+ mask.get(k.upper(),0)for k in mask}print(mask_frequency)
{'a': 12, 'b': 30, 'm': 93}
集合推导式
#计算劣币哦中每个数的平方
akl ={x**2for x in[1,-1,2,3,5]}print(akl)#集合推导式,自带结果去重功能