190329迭代器-生成器-三元运算-列表解析

Posted l-dongf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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']

以上是关于190329迭代器-生成器-三元运算-列表解析的主要内容,如果未能解决你的问题,请参考以下文章

Python全栈day18(三元运算,列表解析,生成器表达式)

初学者python笔记(迭代器生成器三元表达式列表解析send()与yield())

迭代器,生成器,三元表达式,列表解析式

Python基础第九天——迭代对象 迭代器对象生成器三元表达式列表解析生成器表达式

装饰器 迭代器 生成器 面相过程 三元表达式 列表解析 序列化

函数---迭代器&生成器&列表解析&三元表达式