生成器表达式 和 列表推导式

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)

 

以上是关于生成器表达式 和 列表推导式的主要内容,如果未能解决你的问题,请参考以下文章

列表推导式和生成器

Python入门-4控制语句:10推导式创建序列-列表推导式-字典推导式-集合推导式-生成器推导式

列表推导式,生成器表达式

三元表达式,列表推导式和字典生成式

推导式

生成器列表推导式和生成器表达式