生成式

Posted caoyu080202201

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成式相关的知识,希望对你有一定的参考价值。

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

 

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

html 将以编程方式附加外部脚本文件的javascript代码片段,并按顺序排列。用于响应式网站,其中ma

Vue3官网-高级指南(十七)响应式计算`computed`和侦听`watchEffect`(onTrackonTriggeronInvalidate副作用的刷新时机`watch` pre)(代码片段

《On Java 8》中文版 第十三章 函数式编程

postman 自动生成 curl 代码片段

postman 自动生成 curl 代码片段

Apollo Codegen 没有找到生成代码的操作或片段