生成器表达式 和 列表推导式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成器表达式 和 列表推导式相关的知识,希望对你有一定的参考价值。
列表推导式
[i** 2 for i in [1,2,3]] print(li) li2=[int(i/2) for i in range(0,7,2)] print(li2)
生成器表达式
# 生成器 表达式 简化代码 g=(i for i in range(5)) # 没有元组推导式 for i in g: print(i)
例子
0 list=[{‘name‘:‘alex‘,‘age‘:80},{‘name‘:‘egon‘,‘age‘:40},{‘name‘:‘neza‘,‘age‘:18}] li=[(‘名字 %s‘%i[‘name‘],‘年龄 %d‘%i[‘age‘]) for i in list if i[‘age‘]>30] print(li)
# [(‘名字 alex‘, ‘年龄 80‘), (‘名字 egon‘, ‘年龄 40‘)] 1 li=[i for i in range(31) if i%3==0] print(li) 2 li2=[i**2 for i in range(31) if i%3==0] print(li2) 3 names = [[‘Tom‘, ‘Billy‘, ‘Jefferson‘, ‘Andrew‘, ‘Wesley‘, ‘Steven‘, ‘Joe‘], [‘Alice‘, ‘Jill‘, ‘Ana‘, ‘Wendy‘, ‘Jennifer‘, ‘Sherry‘, ‘Eva‘]] li=[item for line in names for item in line if item.count(‘e‘)>=2] print(li)
扩展
集合 字典 推导式 mydict={‘a‘:10,‘b‘:34,‘A‘:15,‘C‘:3,‘c‘:9} nedic={k:mydict[k]**2 for k in mydict} print(nedic) # 求大小对应的键 的和 mydic={k.lower():(mydict.get(k.lower(),0)+mydict.get(k.upper(),0)) for k in mydict} print(mydict)
以上是关于生成器表达式 和 列表推导式的主要内容,如果未能解决你的问题,请参考以下文章