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))
网友评论