2018-11-29 (Review-3)

2018-11-29  本文已影响0人  DingUKE

1.迭代器

迭代器是python中一种容器类的数据类型,属于序列。没有具体的字#面量,可以将其他的序列转换成迭代器: iter(序列)

2.迭代器的特点: 只能通过next方法去一个一个区按照顺序获取迭代器的元素,取出后迭代器就不存在这个元素了.

iter1 = iter(['aa', 123, {'a':1, 'c':2}])
# 遍历迭代器
for x in iter1:
    print(x)

iter2 = iter((1,2,3))
a = iter2.__next__()
print(a)
print(next(iter2))

"""

四、生成式和生成器

1.什么是生成器
生成器就是迭代器,但是迭代器不一定是生成器

生成式就是生成器的一种特殊形式:(变量 for 变量 in 序列)

例:产生一个生成器,生成器中可以生成的数据是数字0~4(每个元素是数字)

"""

get1 = (x*2 for x in range(5))
# print(next(get1))
# print(next(get1))
# print(next(get1))
for item in get1:
    print(item)

def fun1(n):
    print('生成器:')
    for x in range(n+1):
        yield x

# 练习: 生成器生成的数据的规律:奇数就返回他本身,偶数就返回它的2倍

def func1():
    for x in range(15):
        if x & 1:
            yield x
        else:
            yield x*2
g1 = func1()
for x in g1:
    print(x)

迭代器

iter1 = iter([1,2,3])
print(next(iter1))

生成式

get1 = (x*2 for x in range(0,10))
for item in get1:
    print(item)

生成器

def func2(n):
    for x in range(n+1):
        yield x*2
g1 = func2(10)
print(next(g1))
print(next(g1))
print(next(g1))
上一篇下一篇

猜你喜欢

热点阅读