码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-04-05 00:40:23      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:for循环   异常   top   pre   ext   解析   运算   class   iad   

一、迭代器

  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迭代器-生成器-三元运算-列表解析

标签:for循环   异常   top   pre   ext   解析   运算   class   iad   

原文地址:https://www.cnblogs.com/L-dongf/p/10657649.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!