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)
    

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

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

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

  • 相关阅读:
    KnockoutJS(2)-监控属性
    KnockoutJS(1)-数据模型
    Stimulsoft Reports报表工具
    Knockout.js 初探
    web网页的表单排版利器--960css
    用一个div模拟textarea的实现
    正则表达式笔记4-封装class
    正则表达式笔记3
    正则表达式笔记2
    正则表达式笔记1
  • 原文地址:https://www.cnblogs.com/hq82/p/11745641.html
Copyright © 2011-2022 走看看