码迷,mamicode.com
首页 > 其他好文 > 详细

生成式

时间:2020-03-25 19:30:32      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:code   功能   span   相加   new   int   div   item   字典   

一、基本格式:要加入容器的元素 for 元素名 in 迭代对象 if 条件。

二、基本生成式

# 列表生成式
l = [1, 2, 3, 4, 5, 6]
l_new = [member for member in l if member > 2]
print(l_new)  # 结果为 [3, 4, 5, 6]
# 字典生成式
items = [[a, 1], [b, 2], [c, 3], [d, 4]]
d = {k: v for k, v in items if v < 4}
print(d)  # 结果为 {‘a‘: 1, ‘b‘: 2, ‘c‘: 3}
#  集合生成式
ll = [1, 2, 3, 1, 1]
s = {member for member in ll}
print(s)  # 结果为 {1, 2, 3}

三、生成器生成式:将原本列表,字典,集合的[]和{}都换成(),则会生成对应的生成器。

l = [1, 2, 3, 4, 5, 6]
l_new = (member for member in l if member > 2)
print(l_new)  # 结果为显示 l_nwe 是 generator object

四、生成器生成式与sum()功能结合:sum()里面加入一个迭代对象,会得出所有迭代出值的和。

l = [1, 2, 3, 4, 5, 6]
print(sum(l))  # 结果为列表所有元素相加之和 21
print(sum((member for member in l)))  # 将通过列表生的生成器投入会得到一样结果 21
print(sum(member for member in l))  # 当向 sum() 中投入的是生成器生成式的时候可以把生成式自身的括号省略,结果不变 21

 

生成式

标签:code   功能   span   相加   new   int   div   item   字典   

原文地址:https://www.cnblogs.com/caoyu080202201/p/12568526.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!