190329迭代器-生成器-三元运算-列表解析
Posted l-dongf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了190329迭代器-生成器-三元运算-列表解析相关的知识,希望对你有一定的参考价值。
一、迭代器
- 迭代器协议:对象必须提供一个next()方法,执行该方法要么返回迭代中的下一项,要么抛出一个Stoplteration异常终止迭代
- 可迭代对象:遵循迭代器协议,即可迭代对象,(可以被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基础第九天——迭代对象 迭代器对象生成器三元表达式列表解析生成器表达式