zoukankan      html  css  js  c++  java
  • 190329迭代器-生成器-三元运算-列表解析

    一、迭代器

    1. 迭代器协议:对象必须提供一个next()方法,执行该方法要么返回迭代中的下一项,要么抛出一个Stoplteration异常终止迭代
    2. 可迭代对象:遵循迭代器协议,即可迭代对象,(可以被for循环的就是可迭代对象)
    l = {1,2,3}
    iter_l = l.__iter__()  #将列表转换为迭代器
    print(iter_l.__next__())
    print(next(iter_l))
    

    二、生成器

    1、生成器函数

    def f():
        for i in range(10):
            yield i
    
    t = f()
    print(t.__next__())
    print(t.__next__())
    print(t.__next__())
    

    2、生成器表达式

    xiadangongji = ("鸡蛋%s" %i for i in range(10))
    print(xiadangongji.__next__())  #鸡蛋0
    print(xiadangongji.__next__())  #鸡蛋1
    

    三、三元表达式

    age = 18
    res = "未成年" if age < 18 else "已成年"
    print(res)
    

    四、列表解析

    egg = ["鸡蛋%s" %i for i in range(10)]
    print(egg)  #['鸡蛋0', '鸡蛋1', '鸡蛋2', '鸡蛋3', '鸡蛋4', '鸡蛋5', '鸡蛋6', '鸡蛋7', '鸡蛋8', '鸡蛋9']
    
    egg2 = ["鸡蛋%s" %i for i in range(10) if i > 5]
    print(egg2)  #['鸡蛋6', '鸡蛋7', '鸡蛋8', '鸡蛋9']
    
  • 相关阅读:
    zTree学习笔记之展开树和收起树
    添优--史上超级全面的前端面试题大集合
    springboot2.0整合jpa
    Idea快捷键
    实用工具收藏
    nginx
    SQLServer锁的机制
    centos安装jenkins
    java8
    前端开发收藏
  • 原文地址:https://www.cnblogs.com/L-dongf/p/10657649.html
Copyright © 2011-2022 走看看