zoukankan      html  css  js  c++  java
  • 12. 函数-推导式

    一、列表推导式

    1. 语法格式
    	[ 结果 for 变量 in 可迭代对象 if 条件 ]
    
    2. 代码示例
    	# 100以内能被3整除的数的平方
    	gen = [i * i for i in range(100) if i % 3 == 0]
    	for num in gen:
    		print(num)
    

    二、生成器推导式

    1. 语法格式
    	( 结果 for 变量 in 可迭代对象 if 条件 )
    
    2. 代码示例
    	# 100以内能被3整除的数的平方
    	gen = (i * i for i in range(100) if i % 3 == 0)
        gen.__next__()
        
    	for num in gen:
    		print(num)
    

    三、字典推导式

    1. 语法格式
    	{key: value for循环 if 筛选}
    
    2. 代码示例
    	dic = {"张无忌":"九阳神功", "乔峰":"降龙十八掌", "楚留香":"帅"}
    	d = {dic[k]: k for k in dic}
    	print(d)
    

    四、集合推导式

    1. 语法格式
    	{key for if}
    
    2. 代码示例
        lst = ["周杰伦","周伯通","周润发","周伯通","周笔畅","周伯通","周星驰","周伯通"]
        s = {el for el in lst}
        print(s)
    

    备注:⽣成器表达式和列表推导式的区别:

    • 列表推导式比较耗内存. ⼀次性加载. ⽣成器表达式⼏乎不占⽤内存. 使⽤的时候才分 配和使⽤内存

    • 得到的值不⼀样. 列表推导式得到的是⼀个列表. ⽣成器表达式获取的是⼀个⽣成器.⽣成器的惰性机制: ⽣成器只有在访问的时候才取值

  • 相关阅读:
    falsk 自定义中间件
    练习题
    4.12 作业题
    测试笔试题2
    测试笔试题
    简答题
    单选题
    普华和诚测试笔试试题
    缺陷报告
    测试用例点
  • 原文地址:https://www.cnblogs.com/hq82/p/11745641.html
Copyright © 2011-2022 走看看