首页 > 其他 > 详细

生成式

时间:2020-03-25 18:59:46      阅读:44      评论:0      收藏:0      [点我收藏+]

一、基本格式:要加入容器的元素 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

 

生成式

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!